{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "64c956bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c1682ede",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the LEMCell\n",
    "class LEMCell(nn.Module):\n",
    "    def __init__(self, ninp, nhid, dt):\n",
    "        super(LEMCell, self).__init__()\n",
    "        self.ninp = ninp\n",
    "        self.nhid = nhid\n",
    "        self.dt = dt\n",
    "        self.inp2hid = nn.Linear(ninp, 4 * nhid)\n",
    "        self.hid2hid = nn.Linear(nhid, 3 * nhid)\n",
    "        self.transform_z = nn.Linear(nhid, nhid)\n",
    "        self.reset_parameters()\n",
    "\n",
    "    def reset_parameters(self):\n",
    "        std = 1.0 / np.sqrt(self.nhid)\n",
    "        for w in self.parameters():\n",
    "            w.data.uniform_(-std, std)\n",
    "\n",
    "    def forward(self, x, y, z):\n",
    "        transformed_inp = self.inp2hid(x)\n",
    "        transformed_hid = self.hid2hid(y)\n",
    "        i_dt1, i_dt2, i_z, i_y = transformed_inp.chunk(4, 1)\n",
    "        h_dt1, h_dt2, h_y = transformed_hid.chunk(3, 1)\n",
    "\n",
    "        ms_dt_bar = self.dt * torch.sigmoid(i_dt1 + h_dt1)\n",
    "        ms_dt = self.dt * torch.sigmoid(i_dt2 + h_dt2)\n",
    "\n",
    "        z = (1. - ms_dt) * z + ms_dt * torch.tanh(i_y + h_y)\n",
    "        y = (1. - ms_dt_bar) * y + ms_dt_bar * torch.tanh(self.transform_z(z) + i_z)\n",
    "\n",
    "        return y, z\n",
    "\n",
    "# Define the LEM model\n",
    "class LEM(nn.Module):\n",
    "    def __init__(self, ninp, nhid, nout, dt=1.):\n",
    "        super(LEM, self).__init__()\n",
    "        self.nhid = nhid\n",
    "        self.cell = LEMCell(ninp, nhid, dt)\n",
    "        self.classifier = nn.Linear(nhid, nout)\n",
    "        self.init_weights()\n",
    "\n",
    "    def init_weights(self):\n",
    "        for name, param in self.named_parameters():\n",
    "            if 'classifier' in name and 'weight' in name:\n",
    "                nn.init.kaiming_normal_(param.data)\n",
    "\n",
    "    def forward(self, input):\n",
    "        y = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        z = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        for x in input:\n",
    "            y, z = self.cell(x, y, z)\n",
    "        out = self.classifier(y)\n",
    "        return out\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a10585c4",
   "metadata": {},
   "outputs": [],
   "source": [
    "from math import pi\n",
    "v = 1/40\n",
    "eta = 1/(2*v) - np.sqrt(1/(4*v*v) + 4*pi*pi)\n",
    "x = np.linspace(-0.5, 1, 100)\n",
    "y = np.linspace(-0.5, 0.5, 256)\n",
    "X, Y = np.meshgrid(x, y)\n",
    "u = 1 - np.exp(eta*X)*np.cos(2*pi*Y)\n",
    "v = eta/(2*pi) * np.exp(eta*X)*np.sin(2*pi*Y)\n",
    "vel = np.sqrt(u**2 + v**2)\n",
    "p = 0.5*(1-np.exp(2*eta*X))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a982afa5",
   "metadata": {},
   "source": [
    "### PINN data importing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "79da65b0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(256, 100)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# importing data\n",
    "\n",
    "# Load the .mat file\n",
    "# mat_data = scipy.io.loadmat('cylinder_vorticity.mat')\n",
    "\n",
    "# # Access the variables stored in the .mat file\n",
    "# # The variable names in the .mat file become keys in the loaded dictionary\n",
    "# x = mat_data['XX']\n",
    "# t = mat_data['YY']\n",
    "# u = mat_data['WW']\n",
    "\n",
    "vel.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbac9f8e",
   "metadata": {},
   "source": [
    "### Exact Solution data importing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c91e443a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "89"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9967dbae",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # importing data\n",
    "\n",
    "# import torch\n",
    "# import torch.nn as nn\n",
    "# import numpy as np\n",
    "# import time\n",
    "# import scipy.io\n",
    "\n",
    "# # Load the .mat file\n",
    "# mat_data = scipy.io.loadmat('burgers_shock.mat')\n",
    "\n",
    "# # Access the variables stored in the .mat file\n",
    "# # The variable names in the .mat file become keys in the loaded dictionary\n",
    "# x = mat_data['x']\n",
    "# t = mat_data['t']\n",
    "# u_1 = mat_data['usol']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "83a01b14",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7f8d9c285f10>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n",
    "\n",
    "# Toy problem data\n",
    "input_size = 256\n",
    "hidden_size = 32\n",
    "output_size = 256\n",
    "sequence_length = 80\n",
    "batch_size = 1\n",
    "num_epochs = 50000\n",
    "\n",
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0496e4a4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (256,)\n",
      "input data shape (256, 80)\n",
      "Target data shape (256, 80)\n",
      "input tensor shape torch.Size([1, 80, 256])\n",
      "Target tensor shape torch.Size([1, 80, 256])\n"
     ]
    }
   ],
   "source": [
    "input_data = vel[:, 0:80]\n",
    "target_data = u[:, 1:81]\n",
    "\n",
    "test_data = u[:, 80]\n",
    "#test_target = u[:,80:100]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)\n",
    "\n",
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data.T).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data.T).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "718d5b86",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data.T).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target.T).view(batch_size, 20, output_size).float()\n",
    "target_tensor = torch.squeeze(target_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d733ab9a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/50000, Loss: 1.4303940534591675\n",
      "Epoch: 20/50000, Loss: 1.3582142591476440\n",
      "Epoch: 30/50000, Loss: 1.2861149311065674\n",
      "Epoch: 40/50000, Loss: 1.2162197828292847\n",
      "Epoch: 50/50000, Loss: 1.1442416906356812\n",
      "Epoch: 60/50000, Loss: 1.0741761922836304\n",
      "Epoch: 70/50000, Loss: 1.0089190006256104\n",
      "Epoch: 80/50000, Loss: 0.9486018419265747\n",
      "Epoch: 90/50000, Loss: 0.8926985859870911\n",
      "Epoch: 100/50000, Loss: 0.8406213521957397\n",
      "Epoch: 110/50000, Loss: 0.7904902100563049\n",
      "Epoch: 120/50000, Loss: 0.7406731843948364\n",
      "Epoch: 130/50000, Loss: 0.6934918165206909\n",
      "Epoch: 140/50000, Loss: 0.6473377943038940\n",
      "Epoch: 150/50000, Loss: 0.6057660579681396\n",
      "Epoch: 160/50000, Loss: 0.5673070549964905\n",
      "Epoch: 170/50000, Loss: 0.5316084027290344\n",
      "Epoch: 180/50000, Loss: 0.4980642795562744\n",
      "Epoch: 190/50000, Loss: 0.4658810198307037\n",
      "Epoch: 200/50000, Loss: 0.4353536665439606\n",
      "Epoch: 210/50000, Loss: 0.4069256186485291\n",
      "Epoch: 220/50000, Loss: 0.3805579245090485\n",
      "Epoch: 230/50000, Loss: 0.3560998439788818\n",
      "Epoch: 240/50000, Loss: 0.3333959579467773\n",
      "Epoch: 250/50000, Loss: 0.3123041689395905\n",
      "Epoch: 260/50000, Loss: 0.2926988899707794\n",
      "Epoch: 270/50000, Loss: 0.2744689583778381\n",
      "Epoch: 280/50000, Loss: 0.2575152516365051\n",
      "Epoch: 290/50000, Loss: 0.2417484223842621\n",
      "Epoch: 300/50000, Loss: 0.2270873039960861\n",
      "Epoch: 310/50000, Loss: 0.2134574353694916\n",
      "Epoch: 320/50000, Loss: 0.2007902860641479\n",
      "Epoch: 330/50000, Loss: 0.1890223175287247\n",
      "Epoch: 340/50000, Loss: 0.1780945062637329\n",
      "Epoch: 350/50000, Loss: 0.1679518520832062\n",
      "Epoch: 360/50000, Loss: 0.1585429459810257\n",
      "Epoch: 370/50000, Loss: 0.1498195827007294\n",
      "Epoch: 380/50000, Loss: 0.1417366564273834\n",
      "Epoch: 390/50000, Loss: 0.1342517733573914\n",
      "Epoch: 400/50000, Loss: 0.1273251920938492\n",
      "Epoch: 410/50000, Loss: 0.1209195107221603\n",
      "Epoch: 420/50000, Loss: 0.1149995774030685\n",
      "Epoch: 430/50000, Loss: 0.1095323935151100\n",
      "Epoch: 440/50000, Loss: 0.1044869050383568\n",
      "Epoch: 450/50000, Loss: 0.0998340100049973\n",
      "Epoch: 460/50000, Loss: 0.0955462604761124\n",
      "Epoch: 470/50000, Loss: 0.0915979593992233\n",
      "Epoch: 480/50000, Loss: 0.0879649966955185\n",
      "Epoch: 490/50000, Loss: 0.0846247151494026\n",
      "Epoch: 500/50000, Loss: 0.0815559178590775\n",
      "Epoch: 510/50000, Loss: 0.0787387341260910\n",
      "Epoch: 520/50000, Loss: 0.0761545524001122\n",
      "Epoch: 530/50000, Loss: 0.0737859755754471\n",
      "Epoch: 540/50000, Loss: 0.0716167464852333\n",
      "Epoch: 550/50000, Loss: 0.0696316659450531\n",
      "Epoch: 560/50000, Loss: 0.0678165704011917\n",
      "Epoch: 570/50000, Loss: 0.0661582499742508\n",
      "Epoch: 580/50000, Loss: 0.0646443888545036\n",
      "Epoch: 590/50000, Loss: 0.0632635504007339\n",
      "Epoch: 600/50000, Loss: 0.0620050504803658\n",
      "Epoch: 610/50000, Loss: 0.0608590058982372\n",
      "Epoch: 620/50000, Loss: 0.0598162412643433\n",
      "Epoch: 630/50000, Loss: 0.0588682293891907\n",
      "Epoch: 640/50000, Loss: 0.0580070689320564\n",
      "Epoch: 650/50000, Loss: 0.0572254769504070\n",
      "Epoch: 660/50000, Loss: 0.0565166771411896\n",
      "Epoch: 670/50000, Loss: 0.0558744445443153\n",
      "Epoch: 680/50000, Loss: 0.0552930012345314\n",
      "Epoch: 690/50000, Loss: 0.0547670498490334\n",
      "Epoch: 700/50000, Loss: 0.0542916879057884\n",
      "Epoch: 710/50000, Loss: 0.0538624301552773\n",
      "Epoch: 720/50000, Loss: 0.0534751191735268\n",
      "Epoch: 730/50000, Loss: 0.0531259588897228\n",
      "Epoch: 740/50000, Loss: 0.0528114624321461\n",
      "Epoch: 750/50000, Loss: 0.0525284297764301\n",
      "Epoch: 760/50000, Loss: 0.0522739365696907\n",
      "Epoch: 770/50000, Loss: 0.0520452857017517\n",
      "Epoch: 780/50000, Loss: 0.0518400445580482\n",
      "Epoch: 790/50000, Loss: 0.0516559779644012\n",
      "Epoch: 800/50000, Loss: 0.0514910332858562\n",
      "Epoch: 810/50000, Loss: 0.0513433516025543\n",
      "Epoch: 820/50000, Loss: 0.0512112490832806\n",
      "Epoch: 830/50000, Loss: 0.0510931834578514\n",
      "Epoch: 840/50000, Loss: 0.0509877577424049\n",
      "Epoch: 850/50000, Loss: 0.0508936829864979\n",
      "Epoch: 860/50000, Loss: 0.0508098304271698\n",
      "Epoch: 870/50000, Loss: 0.0507351458072662\n",
      "Epoch: 880/50000, Loss: 0.0506686866283417\n",
      "Epoch: 890/50000, Loss: 0.0506095997989178\n",
      "Epoch: 900/50000, Loss: 0.0505570992827415\n",
      "Epoch: 910/50000, Loss: 0.0505105145275593\n",
      "Epoch: 920/50000, Loss: 0.0504691973328590\n",
      "Epoch: 930/50000, Loss: 0.0504325814545155\n",
      "Epoch: 940/50000, Loss: 0.0504001751542091\n",
      "Epoch: 950/50000, Loss: 0.0503715053200722\n",
      "Epoch: 960/50000, Loss: 0.0503461584448814\n",
      "Epoch: 970/50000, Loss: 0.0503237769007683\n",
      "Epoch: 980/50000, Loss: 0.0503040254116058\n",
      "Epoch: 990/50000, Loss: 0.0502866022288799\n",
      "Epoch: 1000/50000, Loss: 0.0502712503075600\n",
      "Epoch: 1010/50000, Loss: 0.0502577200531960\n",
      "Epoch: 1020/50000, Loss: 0.0502457991242409\n",
      "Epoch: 1030/50000, Loss: 0.0502352826297283\n",
      "Epoch: 1040/50000, Loss: 0.0502259731292725\n",
      "Epoch: 1050/50000, Loss: 0.0502176396548748\n",
      "Epoch: 1060/50000, Loss: 0.0502098016440868\n",
      "Epoch: 1070/50000, Loss: 0.0501979701220989\n",
      "Epoch: 1080/50000, Loss: 0.0476200543344021\n",
      "Epoch: 1090/50000, Loss: 0.0461722239851952\n",
      "Epoch: 1100/50000, Loss: 0.0450486615300179\n",
      "Epoch: 1110/50000, Loss: 0.0442028120160103\n",
      "Epoch: 1120/50000, Loss: 0.0434451773762703\n",
      "Epoch: 1130/50000, Loss: 0.0427708886563778\n",
      "Epoch: 1140/50000, Loss: 0.0421542115509510\n",
      "Epoch: 1150/50000, Loss: 0.0415867231786251\n",
      "Epoch: 1160/50000, Loss: 0.0410603359341621\n",
      "Epoch: 1170/50000, Loss: 0.0405683033168316\n",
      "Epoch: 1180/50000, Loss: 0.0401054993271828\n",
      "Epoch: 1190/50000, Loss: 0.0396663025021553\n",
      "Epoch: 1200/50000, Loss: 0.0392344892024994\n",
      "Epoch: 1210/50000, Loss: 0.0379963852465153\n",
      "Epoch: 1220/50000, Loss: 0.0368723459541798\n",
      "Epoch: 1230/50000, Loss: 0.0348340012133121\n",
      "Epoch: 1240/50000, Loss: 0.0334214940667152\n",
      "Epoch: 1250/50000, Loss: 0.0321100428700447\n",
      "Epoch: 1260/50000, Loss: 0.0307975523173809\n",
      "Epoch: 1270/50000, Loss: 0.0294958613812923\n",
      "Epoch: 1280/50000, Loss: 0.0282200463116169\n",
      "Epoch: 1290/50000, Loss: 0.0269822478294373\n",
      "Epoch: 1300/50000, Loss: 0.0257929917424917\n",
      "Epoch: 1310/50000, Loss: 0.0246389210224152\n",
      "Epoch: 1320/50000, Loss: 0.0234956797212362\n",
      "Epoch: 1330/50000, Loss: 0.0224293321371078\n",
      "Epoch: 1340/50000, Loss: 0.0214119870215654\n",
      "Epoch: 1350/50000, Loss: 0.0204391963779926\n",
      "Epoch: 1360/50000, Loss: 0.0195078793913126\n",
      "Epoch: 1370/50000, Loss: 0.0186164341866970\n",
      "Epoch: 1380/50000, Loss: 0.0177645236253738\n",
      "Epoch: 1390/50000, Loss: 0.0169524885714054\n",
      "Epoch: 1400/50000, Loss: 0.0161810629069805\n",
      "Epoch: 1410/50000, Loss: 0.0154508631676435\n",
      "Epoch: 1420/50000, Loss: 0.0147621277719736\n",
      "Epoch: 1430/50000, Loss: 0.0141145084053278\n",
      "Epoch: 1440/50000, Loss: 0.0135071873664856\n",
      "Epoch: 1450/50000, Loss: 0.0129386279731989\n",
      "Epoch: 1460/50000, Loss: 0.0124070392921567\n",
      "Epoch: 1470/50000, Loss: 0.0119103686884046\n",
      "Epoch: 1480/50000, Loss: 0.0114464787766337\n",
      "Epoch: 1490/50000, Loss: 0.0110132219269872\n",
      "Epoch: 1500/50000, Loss: 0.0106084998697042\n",
      "Epoch: 1510/50000, Loss: 0.0102302944287658\n",
      "Epoch: 1520/50000, Loss: 0.0098766954615712\n",
      "Epoch: 1530/50000, Loss: 0.0095458785071969\n",
      "Epoch: 1540/50000, Loss: 0.0092361317947507\n",
      "Epoch: 1550/50000, Loss: 0.0089458432048559\n",
      "Epoch: 1560/50000, Loss: 0.0086735039949417\n",
      "Epoch: 1570/50000, Loss: 0.0084177106618881\n",
      "Epoch: 1580/50000, Loss: 0.0081771621480584\n",
      "Epoch: 1590/50000, Loss: 0.0079506598412991\n",
      "Epoch: 1600/50000, Loss: 0.0077370973303914\n",
      "Epoch: 1610/50000, Loss: 0.0075354576110840\n",
      "Epoch: 1620/50000, Loss: 0.0073447613976896\n",
      "Epoch: 1630/50000, Loss: 0.0076743415556848\n",
      "Epoch: 1640/50000, Loss: 0.0070174285210669\n",
      "Epoch: 1650/50000, Loss: 0.0068421377800405\n",
      "Epoch: 1660/50000, Loss: 0.0066846208646894\n",
      "Epoch: 1670/50000, Loss: 0.0065304362215102\n",
      "Epoch: 1680/50000, Loss: 0.0063912370242178\n",
      "Epoch: 1690/50000, Loss: 0.0062573379836977\n",
      "Epoch: 1700/50000, Loss: 0.0061300122179091\n",
      "Epoch: 1710/50000, Loss: 0.0060081761330366\n",
      "Epoch: 1720/50000, Loss: 0.0058911400847137\n",
      "Epoch: 1730/50000, Loss: 0.0057646525092423\n",
      "Epoch: 1740/50000, Loss: 0.0056945038959384\n",
      "Epoch: 1750/50000, Loss: 0.0055692172609270\n",
      "Epoch: 1760/50000, Loss: 0.0054623452015221\n",
      "Epoch: 1770/50000, Loss: 0.0053197438828647\n",
      "Epoch: 1780/50000, Loss: 0.0050874277949333\n",
      "Epoch: 1790/50000, Loss: 0.0049298638477921\n",
      "Epoch: 1800/50000, Loss: 0.0047940853983164\n",
      "Epoch: 1810/50000, Loss: 0.0046676024794579\n",
      "Epoch: 1820/50000, Loss: 0.0045487205497921\n",
      "Epoch: 1830/50000, Loss: 0.0044341804459691\n",
      "Epoch: 1840/50000, Loss: 0.0043233828619123\n",
      "Epoch: 1850/50000, Loss: 0.0042159948498011\n",
      "Epoch: 1860/50000, Loss: 0.0041117975488305\n",
      "Epoch: 1870/50000, Loss: 0.0040107346139848\n",
      "Epoch: 1880/50000, Loss: 0.0039127408526838\n",
      "Epoch: 1890/50000, Loss: 0.0038177624810487\n",
      "Epoch: 1900/50000, Loss: 0.0037257471121848\n",
      "Epoch: 1910/50000, Loss: 0.0036366370040923\n",
      "Epoch: 1920/50000, Loss: 0.0035503741819412\n",
      "Epoch: 1930/50000, Loss: 0.0034668953157961\n",
      "Epoch: 1940/50000, Loss: 0.0033861335832626\n",
      "Epoch: 1950/50000, Loss: 0.0033080223947763\n",
      "Epoch: 1960/50000, Loss: 0.0032324902713299\n",
      "Epoch: 1970/50000, Loss: 0.0031594638712704\n",
      "Epoch: 1980/50000, Loss: 0.0030888693872839\n",
      "Epoch: 1990/50000, Loss: 0.0030206309165806\n",
      "Epoch: 2000/50000, Loss: 0.0029546725563705\n",
      "Epoch: 2010/50000, Loss: 0.0028909151442349\n",
      "Epoch: 2020/50000, Loss: 0.0028292811475694\n",
      "Epoch: 2030/50000, Loss: 0.0027696930337697\n",
      "Epoch: 2040/50000, Loss: 0.0027120725717396\n",
      "Epoch: 2050/50000, Loss: 0.0026563419960439\n",
      "Epoch: 2060/50000, Loss: 0.0026024258695543\n",
      "Epoch: 2070/50000, Loss: 0.0025502485223114\n",
      "Epoch: 2080/50000, Loss: 0.0024997361470014\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 2090/50000, Loss: 0.0024508174974471\n",
      "Epoch: 2100/50000, Loss: 0.0024034224916250\n",
      "Epoch: 2110/50000, Loss: 0.0023574833758175\n",
      "Epoch: 2120/50000, Loss: 0.0023129351902753\n",
      "Epoch: 2130/50000, Loss: 0.0022697157692164\n",
      "Epoch: 2140/50000, Loss: 0.0022277652751654\n",
      "Epoch: 2150/50000, Loss: 0.0021870271302760\n",
      "Epoch: 2160/50000, Loss: 0.0021474477835000\n",
      "Epoch: 2170/50000, Loss: 0.0021089771762490\n",
      "Epoch: 2180/50000, Loss: 0.0020715668797493\n",
      "Epoch: 2190/50000, Loss: 0.0020351731218398\n",
      "Epoch: 2200/50000, Loss: 0.0019997530616820\n",
      "Epoch: 2210/50000, Loss: 0.0019652675837278\n",
      "Epoch: 2220/50000, Loss: 0.0019316794350743\n",
      "Epoch: 2230/50000, Loss: 0.0018989525269717\n",
      "Epoch: 2240/50000, Loss: 0.0018670528661460\n",
      "Epoch: 2250/50000, Loss: 0.0018359484383836\n",
      "Epoch: 2260/50000, Loss: 0.0018056075787172\n",
      "Epoch: 2270/50000, Loss: 0.0017760001355782\n",
      "Epoch: 2280/50000, Loss: 0.0017470978200436\n",
      "Epoch: 2290/50000, Loss: 0.0017188707133755\n",
      "Epoch: 2300/50000, Loss: 0.0016912833089009\n",
      "Epoch: 2310/50000, Loss: 0.0016621149843559\n",
      "Epoch: 2320/50000, Loss: 0.0016503026708961\n",
      "Epoch: 2330/50000, Loss: 0.0016266198363155\n",
      "Epoch: 2340/50000, Loss: 0.0015882409643382\n",
      "Epoch: 2350/50000, Loss: 0.0015650189016014\n",
      "Epoch: 2360/50000, Loss: 0.0015393195208162\n",
      "Epoch: 2370/50000, Loss: 0.0015154503053054\n",
      "Epoch: 2380/50000, Loss: 0.0014923006528988\n",
      "Epoch: 2390/50000, Loss: 0.0014695787103847\n",
      "Epoch: 2400/50000, Loss: 0.0014473351184279\n",
      "Epoch: 2410/50000, Loss: 0.0014254807028919\n",
      "Epoch: 2420/50000, Loss: 0.0014038914814591\n",
      "Epoch: 2430/50000, Loss: 0.0013819868909195\n",
      "Epoch: 2440/50000, Loss: 0.0013394427951425\n",
      "Epoch: 2450/50000, Loss: 0.0012819166295230\n",
      "Epoch: 2460/50000, Loss: 0.0012446456821635\n",
      "Epoch: 2470/50000, Loss: 0.0012126156361774\n",
      "Epoch: 2480/50000, Loss: 0.0011793838348240\n",
      "Epoch: 2490/50000, Loss: 0.0011401654919609\n",
      "Epoch: 2500/50000, Loss: 0.0011027366854250\n",
      "Epoch: 2510/50000, Loss: 0.0010724600870162\n",
      "Epoch: 2520/50000, Loss: 0.0010449163382873\n",
      "Epoch: 2530/50000, Loss: 0.0010183654958382\n",
      "Epoch: 2540/50000, Loss: 0.0009929308434948\n",
      "Epoch: 2550/50000, Loss: 0.0009688775753602\n",
      "Epoch: 2560/50000, Loss: 0.0009460080182180\n",
      "Epoch: 2570/50000, Loss: 0.0009241112275049\n",
      "Epoch: 2580/50000, Loss: 0.0009030623477884\n",
      "Epoch: 2590/50000, Loss: 0.0008827775600366\n",
      "Epoch: 2600/50000, Loss: 0.0008631832897663\n",
      "Epoch: 2610/50000, Loss: 0.0008442212711088\n",
      "Epoch: 2620/50000, Loss: 0.0008258608868346\n",
      "Epoch: 2630/50000, Loss: 0.0008160870638676\n",
      "Epoch: 2640/50000, Loss: 0.0007908620173112\n",
      "Epoch: 2650/50000, Loss: 0.0007741216686554\n",
      "Epoch: 2660/50000, Loss: 0.0007579898228869\n",
      "Epoch: 2670/50000, Loss: 0.0007418629829772\n",
      "Epoch: 2680/50000, Loss: 0.0007263566367328\n",
      "Epoch: 2690/50000, Loss: 0.0007112802704796\n",
      "Epoch: 2700/50000, Loss: 0.0006966321961954\n",
      "Epoch: 2710/50000, Loss: 0.0006823626463301\n",
      "Epoch: 2720/50000, Loss: 0.0006684618419968\n",
      "Epoch: 2730/50000, Loss: 0.0006549338577315\n",
      "Epoch: 2740/50000, Loss: 0.0006435549585149\n",
      "Epoch: 2750/50000, Loss: 0.0006288265576586\n",
      "Epoch: 2760/50000, Loss: 0.0006186494720168\n",
      "Epoch: 2770/50000, Loss: 0.0006041933083907\n",
      "Epoch: 2780/50000, Loss: 0.0005917850648984\n",
      "Epoch: 2790/50000, Loss: 0.0005790191935375\n",
      "Epoch: 2800/50000, Loss: 0.0005661662435159\n",
      "Epoch: 2810/50000, Loss: 0.0005535504897125\n",
      "Epoch: 2820/50000, Loss: 0.0005416722269729\n",
      "Epoch: 2830/50000, Loss: 0.0005312660941854\n",
      "Epoch: 2840/50000, Loss: 0.0005270750843920\n",
      "Epoch: 2850/50000, Loss: 0.0005129023920745\n",
      "Epoch: 2860/50000, Loss: 0.0004992646863684\n",
      "Epoch: 2870/50000, Loss: 0.0004895465099253\n",
      "Epoch: 2880/50000, Loss: 0.0004798320587724\n",
      "Epoch: 2890/50000, Loss: 0.0004703829181381\n",
      "Epoch: 2900/50000, Loss: 0.0004611820040736\n",
      "Epoch: 2910/50000, Loss: 0.0004522588569671\n",
      "Epoch: 2920/50000, Loss: 0.0004435347509570\n",
      "Epoch: 2930/50000, Loss: 0.0004351329989731\n",
      "Epoch: 2940/50000, Loss: 0.0004393018316478\n",
      "Epoch: 2950/50000, Loss: 0.0004272973164916\n",
      "Epoch: 2960/50000, Loss: 0.0004139792581555\n",
      "Epoch: 2970/50000, Loss: 0.0004033999866806\n",
      "Epoch: 2980/50000, Loss: 0.0003956907894462\n",
      "Epoch: 2990/50000, Loss: 0.0003882598248310\n",
      "Epoch: 3000/50000, Loss: 0.0003810258931480\n",
      "Epoch: 3010/50000, Loss: 0.0003739289822988\n",
      "Epoch: 3020/50000, Loss: 0.0003670120495372\n",
      "Epoch: 3030/50000, Loss: 0.0003603694203775\n",
      "Epoch: 3040/50000, Loss: 0.0003705171402544\n",
      "Epoch: 3050/50000, Loss: 0.0003515591379255\n",
      "Epoch: 3060/50000, Loss: 0.0003446495975368\n",
      "Epoch: 3070/50000, Loss: 0.0003359316033311\n",
      "Epoch: 3080/50000, Loss: 0.0003290825698059\n",
      "Epoch: 3090/50000, Loss: 0.0003233755123802\n",
      "Epoch: 3100/50000, Loss: 0.0003175600140821\n",
      "Epoch: 3110/50000, Loss: 0.0003119229804724\n",
      "Epoch: 3120/50000, Loss: 0.0003064107440878\n",
      "Epoch: 3130/50000, Loss: 0.0003011630033143\n",
      "Epoch: 3140/50000, Loss: 0.0003043293254450\n",
      "Epoch: 3150/50000, Loss: 0.0002975897223223\n",
      "Epoch: 3160/50000, Loss: 0.0002861860848498\n",
      "Epoch: 3170/50000, Loss: 0.0002817787462845\n",
      "Epoch: 3180/50000, Loss: 0.0002765552198980\n",
      "Epoch: 3190/50000, Loss: 0.0002716167073231\n",
      "Epoch: 3200/50000, Loss: 0.0002669589885045\n",
      "Epoch: 3210/50000, Loss: 0.0002624703047331\n",
      "Epoch: 3220/50000, Loss: 0.0002595177502371\n",
      "Epoch: 3230/50000, Loss: 0.0002579762076493\n",
      "Epoch: 3240/50000, Loss: 0.0002496643573977\n",
      "Epoch: 3250/50000, Loss: 0.0002465879661031\n",
      "Epoch: 3260/50000, Loss: 0.0002420300588710\n",
      "Epoch: 3270/50000, Loss: 0.0002377374039497\n",
      "Epoch: 3280/50000, Loss: 0.0002336041943636\n",
      "Epoch: 3290/50000, Loss: 0.0002299074840266\n",
      "Epoch: 3300/50000, Loss: 0.0002321673528058\n",
      "Epoch: 3310/50000, Loss: 0.0002264429640491\n",
      "Epoch: 3320/50000, Loss: 0.0002213611733168\n",
      "Epoch: 3330/50000, Loss: 0.0002157278649975\n",
      "Epoch: 3340/50000, Loss: 0.0002126136387233\n",
      "Epoch: 3350/50000, Loss: 0.0002090166526614\n",
      "Epoch: 3360/50000, Loss: 0.0002055649383692\n",
      "Epoch: 3370/50000, Loss: 0.0002023709239438\n",
      "Epoch: 3380/50000, Loss: 0.0001996990031330\n",
      "Epoch: 3390/50000, Loss: 0.0002125188912032\n",
      "Epoch: 3400/50000, Loss: 0.0001970636658370\n",
      "Epoch: 3410/50000, Loss: 0.0001901863142848\n",
      "Epoch: 3420/50000, Loss: 0.0001877952308860\n",
      "Epoch: 3430/50000, Loss: 0.0001846658124123\n",
      "Epoch: 3440/50000, Loss: 0.0001815910654841\n",
      "Epoch: 3450/50000, Loss: 0.0001790384703781\n",
      "Epoch: 3460/50000, Loss: 0.0001776936842361\n",
      "Epoch: 3470/50000, Loss: 0.0001823936181609\n",
      "Epoch: 3480/50000, Loss: 0.0001730736548780\n",
      "Epoch: 3490/50000, Loss: 0.0001688446645858\n",
      "Epoch: 3500/50000, Loss: 0.0001663265866227\n",
      "Epoch: 3510/50000, Loss: 0.0001638428366277\n",
      "Epoch: 3520/50000, Loss: 0.0001617028028704\n",
      "Epoch: 3530/50000, Loss: 0.0001637576788198\n",
      "Epoch: 3540/50000, Loss: 0.0001565441634739\n",
      "Epoch: 3550/50000, Loss: 0.0001545991253806\n",
      "Epoch: 3560/50000, Loss: 0.0001529796718387\n",
      "Epoch: 3570/50000, Loss: 0.0001498693600297\n",
      "Epoch: 3580/50000, Loss: 0.0001493188610766\n",
      "Epoch: 3590/50000, Loss: 0.0001536016789032\n",
      "Epoch: 3600/50000, Loss: 0.0001467996917199\n",
      "Epoch: 3610/50000, Loss: 0.0001427235984011\n",
      "Epoch: 3620/50000, Loss: 0.0001395132567268\n",
      "Epoch: 3630/50000, Loss: 0.0001384112110827\n",
      "Epoch: 3640/50000, Loss: 0.0001398236345267\n",
      "Epoch: 3650/50000, Loss: 0.0001347390061710\n",
      "Epoch: 3660/50000, Loss: 0.0001338670845143\n",
      "Epoch: 3670/50000, Loss: 0.0001301996817347\n",
      "Epoch: 3680/50000, Loss: 0.0001287393970415\n",
      "Epoch: 3690/50000, Loss: 0.0001367012591800\n",
      "Epoch: 3700/50000, Loss: 0.0001280515862163\n",
      "Epoch: 3710/50000, Loss: 0.0001258901611436\n",
      "Epoch: 3720/50000, Loss: 0.0001227203465533\n",
      "Epoch: 3730/50000, Loss: 0.0001205199878314\n",
      "Epoch: 3740/50000, Loss: 0.0001185736982734\n",
      "Epoch: 3750/50000, Loss: 0.0001170328469016\n",
      "Epoch: 3760/50000, Loss: 0.0001156914368039\n",
      "Epoch: 3770/50000, Loss: 0.0001228792098118\n",
      "Epoch: 3780/50000, Loss: 0.0001148338560597\n",
      "Epoch: 3790/50000, Loss: 0.0001139940723078\n",
      "Epoch: 3800/50000, Loss: 0.0001105563715100\n",
      "Epoch: 3810/50000, Loss: 0.0001084735704353\n",
      "Epoch: 3820/50000, Loss: 0.0001070032230928\n",
      "Epoch: 3830/50000, Loss: 0.0001055222674040\n",
      "Epoch: 3840/50000, Loss: 0.0001042582443915\n",
      "Epoch: 3850/50000, Loss: 0.0001036629328155\n",
      "Epoch: 3860/50000, Loss: 0.0001169546521851\n",
      "Epoch: 3870/50000, Loss: 0.0001063828458427\n",
      "Epoch: 3880/50000, Loss: 0.0001009656698443\n",
      "Epoch: 3890/50000, Loss: 0.0000983582940535\n",
      "Epoch: 3900/50000, Loss: 0.0000969577304204\n",
      "Epoch: 3910/50000, Loss: 0.0000957377269515\n",
      "Epoch: 3920/50000, Loss: 0.0000943981431192\n",
      "Epoch: 3930/50000, Loss: 0.0000933327100938\n",
      "Epoch: 3940/50000, Loss: 0.0000936739961617\n",
      "Epoch: 3950/50000, Loss: 0.0001090334626497\n",
      "Epoch: 3960/50000, Loss: 0.0000914657284738\n",
      "Epoch: 3970/50000, Loss: 0.0000897622303455\n",
      "Epoch: 3980/50000, Loss: 0.0000888496288098\n",
      "Epoch: 3990/50000, Loss: 0.0000872492601047\n",
      "Epoch: 4000/50000, Loss: 0.0000860684740474\n",
      "Epoch: 4010/50000, Loss: 0.0000850224314490\n",
      "Epoch: 4020/50000, Loss: 0.0000839856074890\n",
      "Epoch: 4030/50000, Loss: 0.0000830607896205\n",
      "Epoch: 4040/50000, Loss: 0.0000824379458209\n",
      "Epoch: 4050/50000, Loss: 0.0000941032340052\n",
      "Epoch: 4060/50000, Loss: 0.0000861043008626\n",
      "Epoch: 4070/50000, Loss: 0.0000825228926260\n",
      "Epoch: 4080/50000, Loss: 0.0000785590527812\n",
      "Epoch: 4090/50000, Loss: 0.0000778953326517\n",
      "Epoch: 4100/50000, Loss: 0.0000769949765527\n",
      "Epoch: 4110/50000, Loss: 0.0000760529292165\n",
      "Epoch: 4120/50000, Loss: 0.0000751706975279\n",
      "Epoch: 4130/50000, Loss: 0.0000743773489376\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 4140/50000, Loss: 0.0000735625726520\n",
      "Epoch: 4150/50000, Loss: 0.0000728229570086\n",
      "Epoch: 4160/50000, Loss: 0.0000750506733311\n",
      "Epoch: 4170/50000, Loss: 0.0000786013479228\n",
      "Epoch: 4180/50000, Loss: 0.0000755076980568\n",
      "Epoch: 4190/50000, Loss: 0.0000701254612068\n",
      "Epoch: 4200/50000, Loss: 0.0000700536911609\n",
      "Epoch: 4210/50000, Loss: 0.0000684230253682\n",
      "Epoch: 4220/50000, Loss: 0.0000677130447002\n",
      "Epoch: 4230/50000, Loss: 0.0000670128210913\n",
      "Epoch: 4240/50000, Loss: 0.0000662928068778\n",
      "Epoch: 4250/50000, Loss: 0.0000656008560327\n",
      "Epoch: 4260/50000, Loss: 0.0000649242429063\n",
      "Epoch: 4270/50000, Loss: 0.0000642661034362\n",
      "Epoch: 4280/50000, Loss: 0.0000636151162325\n",
      "Epoch: 4290/50000, Loss: 0.0000629787900834\n",
      "Epoch: 4300/50000, Loss: 0.0000626144610578\n",
      "Epoch: 4310/50000, Loss: 0.0000910628878046\n",
      "Epoch: 4320/50000, Loss: 0.0000745728975744\n",
      "Epoch: 4330/50000, Loss: 0.0000662220481900\n",
      "Epoch: 4340/50000, Loss: 0.0000607533074799\n",
      "Epoch: 4350/50000, Loss: 0.0000594509256189\n",
      "Epoch: 4360/50000, Loss: 0.0000591071620875\n",
      "Epoch: 4370/50000, Loss: 0.0000582883840252\n",
      "Epoch: 4380/50000, Loss: 0.0000577343853365\n",
      "Epoch: 4390/50000, Loss: 0.0000571437303734\n",
      "Epoch: 4400/50000, Loss: 0.0000565979280509\n",
      "Epoch: 4410/50000, Loss: 0.0000560559092264\n",
      "Epoch: 4420/50000, Loss: 0.0000555207370780\n",
      "Epoch: 4430/50000, Loss: 0.0000549931319256\n",
      "Epoch: 4440/50000, Loss: 0.0000544730210095\n",
      "Epoch: 4450/50000, Loss: 0.0000539597822353\n",
      "Epoch: 4460/50000, Loss: 0.0000534533974133\n",
      "Epoch: 4470/50000, Loss: 0.0000529595818080\n",
      "Epoch: 4480/50000, Loss: 0.0000530143661308\n",
      "Epoch: 4490/50000, Loss: 0.0000992673885776\n",
      "Epoch: 4500/50000, Loss: 0.0000519097848155\n",
      "Epoch: 4510/50000, Loss: 0.0000533377096872\n",
      "Epoch: 4520/50000, Loss: 0.0000523741182406\n",
      "Epoch: 4530/50000, Loss: 0.0000508852135681\n",
      "Epoch: 4540/50000, Loss: 0.0000497831133544\n",
      "Epoch: 4550/50000, Loss: 0.0000493072220706\n",
      "Epoch: 4560/50000, Loss: 0.0000488575497002\n",
      "Epoch: 4570/50000, Loss: 0.0000483925578010\n",
      "Epoch: 4580/50000, Loss: 0.0000479558002553\n",
      "Epoch: 4590/50000, Loss: 0.0000475278429803\n",
      "Epoch: 4600/50000, Loss: 0.0000471034145448\n",
      "Epoch: 4610/50000, Loss: 0.0000466847741336\n",
      "Epoch: 4620/50000, Loss: 0.0000462713578600\n",
      "Epoch: 4630/50000, Loss: 0.0000458628346678\n",
      "Epoch: 4640/50000, Loss: 0.0000454592736787\n",
      "Epoch: 4650/50000, Loss: 0.0000450604129583\n",
      "Epoch: 4660/50000, Loss: 0.0000446668964287\n",
      "Epoch: 4670/50000, Loss: 0.0000443183635070\n",
      "Epoch: 4680/50000, Loss: 0.0000496635984746\n",
      "Epoch: 4690/50000, Loss: 0.0000438775277871\n",
      "Epoch: 4700/50000, Loss: 0.0000467874560854\n",
      "Epoch: 4710/50000, Loss: 0.0000455238550785\n",
      "Epoch: 4720/50000, Loss: 0.0000438220668002\n",
      "Epoch: 4730/50000, Loss: 0.0000425239086326\n",
      "Epoch: 4740/50000, Loss: 0.0000417747432948\n",
      "Epoch: 4750/50000, Loss: 0.0000414395071857\n",
      "Epoch: 4760/50000, Loss: 0.0000410724460380\n",
      "Epoch: 4770/50000, Loss: 0.0000407115367125\n",
      "Epoch: 4780/50000, Loss: 0.0000403668673243\n",
      "Epoch: 4790/50000, Loss: 0.0000400284625357\n",
      "Epoch: 4800/50000, Loss: 0.0000396925388486\n",
      "Epoch: 4810/50000, Loss: 0.0000393609225284\n",
      "Epoch: 4820/50000, Loss: 0.0000390331042581\n",
      "Epoch: 4830/50000, Loss: 0.0000387087347917\n",
      "Epoch: 4840/50000, Loss: 0.0000383878286812\n",
      "Epoch: 4850/50000, Loss: 0.0000380702585971\n",
      "Epoch: 4860/50000, Loss: 0.0000377561264031\n",
      "Epoch: 4870/50000, Loss: 0.0000374464325432\n",
      "Epoch: 4880/50000, Loss: 0.0000372335744032\n",
      "Epoch: 4890/50000, Loss: 0.0000516310792591\n",
      "Epoch: 4900/50000, Loss: 0.0000566829621675\n",
      "Epoch: 4910/50000, Loss: 0.0000383554142900\n",
      "Epoch: 4920/50000, Loss: 0.0000361006750609\n",
      "Epoch: 4930/50000, Loss: 0.0000357888857252\n",
      "Epoch: 4940/50000, Loss: 0.0000356606724381\n",
      "Epoch: 4950/50000, Loss: 0.0000353094910679\n",
      "Epoch: 4960/50000, Loss: 0.0000348826506524\n",
      "Epoch: 4970/50000, Loss: 0.0000345985063177\n",
      "Epoch: 4980/50000, Loss: 0.0000343164138030\n",
      "Epoch: 4990/50000, Loss: 0.0000340404658346\n",
      "Epoch: 5000/50000, Loss: 0.0000337675082847\n",
      "Epoch: 5010/50000, Loss: 0.0000334995056619\n",
      "Epoch: 5020/50000, Loss: 0.0000332338313456\n",
      "Epoch: 5030/50000, Loss: 0.0000329705544573\n",
      "Epoch: 5040/50000, Loss: 0.0000327097877744\n",
      "Epoch: 5050/50000, Loss: 0.0000324512839143\n",
      "Epoch: 5060/50000, Loss: 0.0000321948682540\n",
      "Epoch: 5070/50000, Loss: 0.0000319401733577\n",
      "Epoch: 5080/50000, Loss: 0.0000316863443004\n",
      "Epoch: 5090/50000, Loss: 0.0000314329008688\n",
      "Epoch: 5100/50000, Loss: 0.0000313534874294\n",
      "Epoch: 5110/50000, Loss: 0.0000674133552820\n",
      "Epoch: 5120/50000, Loss: 0.0000475174565508\n",
      "Epoch: 5130/50000, Loss: 0.0000363561339327\n",
      "Epoch: 5140/50000, Loss: 0.0000318571001117\n",
      "Epoch: 5150/50000, Loss: 0.0000305408975692\n",
      "Epoch: 5160/50000, Loss: 0.0000300260981021\n",
      "Epoch: 5170/50000, Loss: 0.0000296484395221\n",
      "Epoch: 5180/50000, Loss: 0.0000292941222142\n",
      "Epoch: 5190/50000, Loss: 0.0000290069638140\n",
      "Epoch: 5200/50000, Loss: 0.0000287732345896\n",
      "Epoch: 5210/50000, Loss: 0.0000285332844214\n",
      "Epoch: 5220/50000, Loss: 0.0000283006120299\n",
      "Epoch: 5230/50000, Loss: 0.0000280706535705\n",
      "Epoch: 5240/50000, Loss: 0.0000278445313597\n",
      "Epoch: 5250/50000, Loss: 0.0000276210739685\n",
      "Epoch: 5260/50000, Loss: 0.0000274003868981\n",
      "Epoch: 5270/50000, Loss: 0.0000271823428193\n",
      "Epoch: 5280/50000, Loss: 0.0000269668526016\n",
      "Epoch: 5290/50000, Loss: 0.0000267538471235\n",
      "Epoch: 5300/50000, Loss: 0.0000265432754532\n",
      "Epoch: 5310/50000, Loss: 0.0000263350138994\n",
      "Epoch: 5320/50000, Loss: 0.0000261290151684\n",
      "Epoch: 5330/50000, Loss: 0.0000259255793935\n",
      "Epoch: 5340/50000, Loss: 0.0000257649862760\n",
      "Epoch: 5350/50000, Loss: 0.0000342032581102\n",
      "Epoch: 5360/50000, Loss: 0.0000337529818353\n",
      "Epoch: 5370/50000, Loss: 0.0000252874560829\n",
      "Epoch: 5380/50000, Loss: 0.0000250317443715\n",
      "Epoch: 5390/50000, Loss: 0.0000249069180427\n",
      "Epoch: 5400/50000, Loss: 0.0000247845546255\n",
      "Epoch: 5410/50000, Loss: 0.0000245953015110\n",
      "Epoch: 5420/50000, Loss: 0.0000243235226662\n",
      "Epoch: 5430/50000, Loss: 0.0000240743393078\n",
      "Epoch: 5440/50000, Loss: 0.0000238935172092\n",
      "Epoch: 5450/50000, Loss: 0.0000237107124121\n",
      "Epoch: 5460/50000, Loss: 0.0000235309125856\n",
      "Epoch: 5470/50000, Loss: 0.0000233536975429\n",
      "Epoch: 5480/50000, Loss: 0.0000231787980738\n",
      "Epoch: 5490/50000, Loss: 0.0000230052501138\n",
      "Epoch: 5500/50000, Loss: 0.0000228332137340\n",
      "Epoch: 5510/50000, Loss: 0.0000226627635129\n",
      "Epoch: 5520/50000, Loss: 0.0000224938048632\n",
      "Epoch: 5530/50000, Loss: 0.0000223261722567\n",
      "Epoch: 5540/50000, Loss: 0.0000221600221266\n",
      "Epoch: 5550/50000, Loss: 0.0000219952380576\n",
      "Epoch: 5560/50000, Loss: 0.0000218318309635\n",
      "Epoch: 5570/50000, Loss: 0.0000216698899749\n",
      "Epoch: 5580/50000, Loss: 0.0000215194049815\n",
      "Epoch: 5590/50000, Loss: 0.0000231736776186\n",
      "Epoch: 5600/50000, Loss: 0.0000600615094299\n",
      "Epoch: 5610/50000, Loss: 0.0000383446822525\n",
      "Epoch: 5620/50000, Loss: 0.0000270096988970\n",
      "Epoch: 5630/50000, Loss: 0.0000229542347370\n",
      "Epoch: 5640/50000, Loss: 0.0000213985931623\n",
      "Epoch: 5650/50000, Loss: 0.0000207168122870\n",
      "Epoch: 5660/50000, Loss: 0.0000203719955607\n",
      "Epoch: 5670/50000, Loss: 0.0000201834809559\n",
      "Epoch: 5680/50000, Loss: 0.0000200443937501\n",
      "Epoch: 5690/50000, Loss: 0.0000198938705580\n",
      "Epoch: 5700/50000, Loss: 0.0000197455538000\n",
      "Epoch: 5710/50000, Loss: 0.0000196026976482\n",
      "Epoch: 5720/50000, Loss: 0.0000194600197574\n",
      "Epoch: 5730/50000, Loss: 0.0000193189280253\n",
      "Epoch: 5740/50000, Loss: 0.0000191790222743\n",
      "Epoch: 5750/50000, Loss: 0.0000190401933651\n",
      "Epoch: 5760/50000, Loss: 0.0000189024540305\n",
      "Epoch: 5770/50000, Loss: 0.0000187656933122\n",
      "Epoch: 5780/50000, Loss: 0.0000186299985216\n",
      "Epoch: 5790/50000, Loss: 0.0000184953132703\n",
      "Epoch: 5800/50000, Loss: 0.0000183616557479\n",
      "Epoch: 5810/50000, Loss: 0.0000182289659278\n",
      "Epoch: 5820/50000, Loss: 0.0000180973074748\n",
      "Epoch: 5830/50000, Loss: 0.0000179678172572\n",
      "Epoch: 5840/50000, Loss: 0.0000179651433427\n",
      "Epoch: 5850/50000, Loss: 0.0000410508582718\n",
      "Epoch: 5860/50000, Loss: 0.0000468927428301\n",
      "Epoch: 5870/50000, Loss: 0.0000258165855485\n",
      "Epoch: 5880/50000, Loss: 0.0000199145088118\n",
      "Epoch: 5890/50000, Loss: 0.0000179123053385\n",
      "Epoch: 5900/50000, Loss: 0.0000172188192664\n",
      "Epoch: 5910/50000, Loss: 0.0000170074090420\n",
      "Epoch: 5920/50000, Loss: 0.0000169157283381\n",
      "Epoch: 5930/50000, Loss: 0.0000167835642060\n",
      "Epoch: 5940/50000, Loss: 0.0000166427362274\n",
      "Epoch: 5950/50000, Loss: 0.0000165261735674\n",
      "Epoch: 5960/50000, Loss: 0.0000164058783412\n",
      "Epoch: 5970/50000, Loss: 0.0000162893575180\n",
      "Epoch: 5980/50000, Loss: 0.0000161730240507\n",
      "Epoch: 5990/50000, Loss: 0.0000160578274517\n",
      "Epoch: 6000/50000, Loss: 0.0000159435785463\n",
      "Epoch: 6010/50000, Loss: 0.0000158300736075\n",
      "Epoch: 6020/50000, Loss: 0.0000157173999469\n",
      "Epoch: 6030/50000, Loss: 0.0000156055521074\n",
      "Epoch: 6040/50000, Loss: 0.0000154944136739\n",
      "Epoch: 6050/50000, Loss: 0.0000153840192070\n",
      "Epoch: 6060/50000, Loss: 0.0000152744505613\n",
      "Epoch: 6070/50000, Loss: 0.0000151656113303\n",
      "Epoch: 6080/50000, Loss: 0.0000150581636262\n",
      "Epoch: 6090/50000, Loss: 0.0000150125606524\n",
      "Epoch: 6100/50000, Loss: 0.0000261835775746\n",
      "Epoch: 6110/50000, Loss: 0.0000285729711322\n",
      "Epoch: 6120/50000, Loss: 0.0000154510944412\n",
      "Epoch: 6130/50000, Loss: 0.0000146368065543\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 6140/50000, Loss: 0.0000144817950058\n",
      "Epoch: 6150/50000, Loss: 0.0000144408722917\n",
      "Epoch: 6160/50000, Loss: 0.0000143761380968\n",
      "Epoch: 6170/50000, Loss: 0.0000142323724504\n",
      "Epoch: 6180/50000, Loss: 0.0000140711781569\n",
      "Epoch: 6190/50000, Loss: 0.0000139618659887\n",
      "Epoch: 6200/50000, Loss: 0.0000138648483698\n",
      "Epoch: 6210/50000, Loss: 0.0000137634415296\n",
      "Epoch: 6220/50000, Loss: 0.0000136664793899\n",
      "Epoch: 6230/50000, Loss: 0.0000135695518111\n",
      "Epoch: 6240/50000, Loss: 0.0000134735673782\n",
      "Epoch: 6250/50000, Loss: 0.0000133782759804\n",
      "Epoch: 6260/50000, Loss: 0.0000132836667035\n",
      "Epoch: 6270/50000, Loss: 0.0000131896831590\n",
      "Epoch: 6280/50000, Loss: 0.0000130962826006\n",
      "Epoch: 6290/50000, Loss: 0.0000130035259645\n",
      "Epoch: 6300/50000, Loss: 0.0000129113759613\n",
      "Epoch: 6310/50000, Loss: 0.0000128198244056\n",
      "Epoch: 6320/50000, Loss: 0.0000127288421936\n",
      "Epoch: 6330/50000, Loss: 0.0000126386075863\n",
      "Epoch: 6340/50000, Loss: 0.0000125577716972\n",
      "Epoch: 6350/50000, Loss: 0.0000136197895699\n",
      "Epoch: 6360/50000, Loss: 0.0000732286280254\n",
      "Epoch: 6370/50000, Loss: 0.0000183157244464\n",
      "Epoch: 6380/50000, Loss: 0.0000128051760839\n",
      "Epoch: 6390/50000, Loss: 0.0000121539405882\n",
      "Epoch: 6400/50000, Loss: 0.0000121709545056\n",
      "Epoch: 6410/50000, Loss: 0.0000121618049889\n",
      "Epoch: 6420/50000, Loss: 0.0000119948326756\n",
      "Epoch: 6430/50000, Loss: 0.0000118130537885\n",
      "Epoch: 6440/50000, Loss: 0.0000117233303172\n",
      "Epoch: 6450/50000, Loss: 0.0000116394476208\n",
      "Epoch: 6460/50000, Loss: 0.0000115530920084\n",
      "Epoch: 6470/50000, Loss: 0.0000114710583148\n",
      "Epoch: 6480/50000, Loss: 0.0000113897240226\n",
      "Epoch: 6490/50000, Loss: 0.0000113087535283\n",
      "Epoch: 6500/50000, Loss: 0.0000112285351861\n",
      "Epoch: 6510/50000, Loss: 0.0000111488743642\n",
      "Epoch: 6520/50000, Loss: 0.0000110697164928\n",
      "Epoch: 6530/50000, Loss: 0.0000109910561150\n",
      "Epoch: 6540/50000, Loss: 0.0000109128723125\n",
      "Epoch: 6550/50000, Loss: 0.0000108352323878\n",
      "Epoch: 6560/50000, Loss: 0.0000107580408439\n",
      "Epoch: 6570/50000, Loss: 0.0000106813349703\n",
      "Epoch: 6580/50000, Loss: 0.0000106051247712\n",
      "Epoch: 6590/50000, Loss: 0.0000105329690996\n",
      "Epoch: 6600/50000, Loss: 0.0000109442134999\n",
      "Epoch: 6610/50000, Loss: 0.0000738087546779\n",
      "Epoch: 6620/50000, Loss: 0.0000109417915155\n",
      "Epoch: 6630/50000, Loss: 0.0000110804940050\n",
      "Epoch: 6640/50000, Loss: 0.0000106501338450\n",
      "Epoch: 6650/50000, Loss: 0.0000104357804958\n",
      "Epoch: 6660/50000, Loss: 0.0000102766125565\n",
      "Epoch: 6670/50000, Loss: 0.0000101038485809\n",
      "Epoch: 6680/50000, Loss: 0.0000099382659755\n",
      "Epoch: 6690/50000, Loss: 0.0000098309346868\n",
      "Epoch: 6700/50000, Loss: 0.0000097642960100\n",
      "Epoch: 6710/50000, Loss: 0.0000096911171568\n",
      "Epoch: 6720/50000, Loss: 0.0000096208050309\n",
      "Epoch: 6730/50000, Loss: 0.0000095515779321\n",
      "Epoch: 6740/50000, Loss: 0.0000094831593742\n",
      "Epoch: 6750/50000, Loss: 0.0000094150700534\n",
      "Epoch: 6760/50000, Loss: 0.0000093475055110\n",
      "Epoch: 6770/50000, Loss: 0.0000092803529697\n",
      "Epoch: 6780/50000, Loss: 0.0000092136660896\n",
      "Epoch: 6790/50000, Loss: 0.0000091473912107\n",
      "Epoch: 6800/50000, Loss: 0.0000090814601208\n",
      "Epoch: 6810/50000, Loss: 0.0000090159664978\n",
      "Epoch: 6820/50000, Loss: 0.0000089508257588\n",
      "Epoch: 6830/50000, Loss: 0.0000088861334007\n",
      "Epoch: 6840/50000, Loss: 0.0000088218012024\n",
      "Epoch: 6850/50000, Loss: 0.0000087586131485\n",
      "Epoch: 6860/50000, Loss: 0.0000087694297690\n",
      "Epoch: 6870/50000, Loss: 0.0000223543393076\n",
      "Epoch: 6880/50000, Loss: 0.0000279847354250\n",
      "Epoch: 6890/50000, Loss: 0.0000107698415377\n",
      "Epoch: 6900/50000, Loss: 0.0000089144004960\n",
      "Epoch: 6910/50000, Loss: 0.0000084543398771\n",
      "Epoch: 6920/50000, Loss: 0.0000083715012806\n",
      "Epoch: 6930/50000, Loss: 0.0000083619761426\n",
      "Epoch: 6940/50000, Loss: 0.0000082954184109\n",
      "Epoch: 6950/50000, Loss: 0.0000081863718151\n",
      "Epoch: 6960/50000, Loss: 0.0000081096395661\n",
      "Epoch: 6970/50000, Loss: 0.0000080535010056\n",
      "Epoch: 6980/50000, Loss: 0.0000079914634625\n",
      "Epoch: 6990/50000, Loss: 0.0000079335932242\n",
      "Epoch: 7000/50000, Loss: 0.0000078753046182\n",
      "Epoch: 7010/50000, Loss: 0.0000078178291005\n",
      "Epoch: 7020/50000, Loss: 0.0000077608137872\n",
      "Epoch: 7030/50000, Loss: 0.0000077041104305\n",
      "Epoch: 7040/50000, Loss: 0.0000076478154369\n",
      "Epoch: 7050/50000, Loss: 0.0000075918601397\n",
      "Epoch: 7060/50000, Loss: 0.0000075362522693\n",
      "Epoch: 7070/50000, Loss: 0.0000074809977377\n",
      "Epoch: 7080/50000, Loss: 0.0000074260997280\n",
      "Epoch: 7090/50000, Loss: 0.0000073715773397\n",
      "Epoch: 7100/50000, Loss: 0.0000073173491728\n",
      "Epoch: 7110/50000, Loss: 0.0000072635439210\n",
      "Epoch: 7120/50000, Loss: 0.0000072165430538\n",
      "Epoch: 7130/50000, Loss: 0.0000082881424532\n",
      "Epoch: 7140/50000, Loss: 0.0000758544701966\n",
      "Epoch: 7150/50000, Loss: 0.0000205519045267\n",
      "Epoch: 7160/50000, Loss: 0.0000118765046864\n",
      "Epoch: 7170/50000, Loss: 0.0000088462775238\n",
      "Epoch: 7180/50000, Loss: 0.0000075550788097\n",
      "Epoch: 7190/50000, Loss: 0.0000070376518124\n",
      "Epoch: 7200/50000, Loss: 0.0000068427630140\n",
      "Epoch: 7210/50000, Loss: 0.0000067727532951\n",
      "Epoch: 7220/50000, Loss: 0.0000067303562901\n",
      "Epoch: 7230/50000, Loss: 0.0000066757029344\n",
      "Epoch: 7240/50000, Loss: 0.0000066209081524\n",
      "Epoch: 7250/50000, Loss: 0.0000065723224907\n",
      "Epoch: 7260/50000, Loss: 0.0000065228618951\n",
      "Epoch: 7270/50000, Loss: 0.0000064744976953\n",
      "Epoch: 7280/50000, Loss: 0.0000064263740569\n",
      "Epoch: 7290/50000, Loss: 0.0000063786051214\n",
      "Epoch: 7300/50000, Loss: 0.0000063312036218\n",
      "Epoch: 7310/50000, Loss: 0.0000062841195358\n",
      "Epoch: 7320/50000, Loss: 0.0000062372955654\n",
      "Epoch: 7330/50000, Loss: 0.0000061908308453\n",
      "Epoch: 7340/50000, Loss: 0.0000061446712607\n",
      "Epoch: 7350/50000, Loss: 0.0000060987695178\n",
      "Epoch: 7360/50000, Loss: 0.0000060532047428\n",
      "Epoch: 7370/50000, Loss: 0.0000060078900788\n",
      "Epoch: 7380/50000, Loss: 0.0000059628641793\n",
      "Epoch: 7390/50000, Loss: 0.0000059187264014\n",
      "Epoch: 7400/50000, Loss: 0.0000059344592955\n",
      "Epoch: 7410/50000, Loss: 0.0000174470042111\n",
      "Epoch: 7420/50000, Loss: 0.0000200156355277\n",
      "Epoch: 7430/50000, Loss: 0.0000069064021773\n",
      "Epoch: 7440/50000, Loss: 0.0000060068482526\n",
      "Epoch: 7450/50000, Loss: 0.0000057257902881\n",
      "Epoch: 7460/50000, Loss: 0.0000056502358348\n",
      "Epoch: 7470/50000, Loss: 0.0000056459452935\n",
      "Epoch: 7480/50000, Loss: 0.0000056121029957\n",
      "Epoch: 7490/50000, Loss: 0.0000055355844779\n",
      "Epoch: 7500/50000, Loss: 0.0000054695087783\n",
      "Epoch: 7510/50000, Loss: 0.0000054292736422\n",
      "Epoch: 7520/50000, Loss: 0.0000053864196161\n",
      "Epoch: 7530/50000, Loss: 0.0000053451335589\n",
      "Epoch: 7540/50000, Loss: 0.0000053043772823\n",
      "Epoch: 7550/50000, Loss: 0.0000052641962611\n",
      "Epoch: 7560/50000, Loss: 0.0000052242653510\n",
      "Epoch: 7570/50000, Loss: 0.0000051846382121\n",
      "Epoch: 7580/50000, Loss: 0.0000051453166634\n",
      "Epoch: 7590/50000, Loss: 0.0000051062438615\n",
      "Epoch: 7600/50000, Loss: 0.0000050674420891\n",
      "Epoch: 7610/50000, Loss: 0.0000050289054343\n",
      "Epoch: 7620/50000, Loss: 0.0000049905861488\n",
      "Epoch: 7630/50000, Loss: 0.0000049525442591\n",
      "Epoch: 7640/50000, Loss: 0.0000049147552090\n",
      "Epoch: 7650/50000, Loss: 0.0000048775568757\n",
      "Epoch: 7660/50000, Loss: 0.0000048572610467\n",
      "Epoch: 7670/50000, Loss: 0.0000066136244641\n",
      "Epoch: 7680/50000, Loss: 0.0000520515968674\n",
      "Epoch: 7690/50000, Loss: 0.0000113940022857\n",
      "Epoch: 7700/50000, Loss: 0.0000048661377150\n",
      "Epoch: 7710/50000, Loss: 0.0000049962304729\n",
      "Epoch: 7720/50000, Loss: 0.0000052174082157\n",
      "Epoch: 7730/50000, Loss: 0.0000048311785577\n",
      "Epoch: 7740/50000, Loss: 0.0000045727601901\n",
      "Epoch: 7750/50000, Loss: 0.0000045633055379\n",
      "Epoch: 7760/50000, Loss: 0.0000045022961785\n",
      "Epoch: 7770/50000, Loss: 0.0000044684079512\n",
      "Epoch: 7780/50000, Loss: 0.0000044295857151\n",
      "Epoch: 7790/50000, Loss: 0.0000043956024456\n",
      "Epoch: 7800/50000, Loss: 0.0000043614645620\n",
      "Epoch: 7810/50000, Loss: 0.0000043275554162\n",
      "Epoch: 7820/50000, Loss: 0.0000042939982450\n",
      "Epoch: 7830/50000, Loss: 0.0000042607475734\n",
      "Epoch: 7840/50000, Loss: 0.0000042277256398\n",
      "Epoch: 7850/50000, Loss: 0.0000041949351726\n",
      "Epoch: 7860/50000, Loss: 0.0000041623907236\n",
      "Epoch: 7870/50000, Loss: 0.0000041300727389\n",
      "Epoch: 7880/50000, Loss: 0.0000040979880396\n",
      "Epoch: 7890/50000, Loss: 0.0000040664062908\n",
      "Epoch: 7900/50000, Loss: 0.0000040556001295\n",
      "Epoch: 7910/50000, Loss: 0.0000069576476562\n",
      "Epoch: 7920/50000, Loss: 0.0000275774418697\n",
      "Epoch: 7930/50000, Loss: 0.0000193553878489\n",
      "Epoch: 7940/50000, Loss: 0.0000089753011707\n",
      "Epoch: 7950/50000, Loss: 0.0000053068970374\n",
      "Epoch: 7960/50000, Loss: 0.0000040897730287\n",
      "Epoch: 7970/50000, Loss: 0.0000038440407479\n",
      "Epoch: 7980/50000, Loss: 0.0000038568423406\n",
      "Epoch: 7990/50000, Loss: 0.0000038134687657\n",
      "Epoch: 8000/50000, Loss: 0.0000037512490962\n",
      "Epoch: 8010/50000, Loss: 0.0000037248428271\n",
      "Epoch: 8020/50000, Loss: 0.0000036917626858\n",
      "Epoch: 8030/50000, Loss: 0.0000036631986404\n",
      "Epoch: 8040/50000, Loss: 0.0000036339631606\n",
      "Epoch: 8050/50000, Loss: 0.0000036054977954\n",
      "Epoch: 8060/50000, Loss: 0.0000035773402942\n",
      "Epoch: 8070/50000, Loss: 0.0000035494285839\n",
      "Epoch: 8080/50000, Loss: 0.0000035217585719\n",
      "Epoch: 8090/50000, Loss: 0.0000034943052469\n",
      "Epoch: 8100/50000, Loss: 0.0000034671170397\n",
      "Epoch: 8110/50000, Loss: 0.0000034401243738\n",
      "Epoch: 8120/50000, Loss: 0.0000034133304325\n",
      "Epoch: 8130/50000, Loss: 0.0000033867806906\n",
      "Epoch: 8140/50000, Loss: 0.0000033604314922\n",
      "Epoch: 8150/50000, Loss: 0.0000033344422263\n",
      "Epoch: 8160/50000, Loss: 0.0000033251089917\n",
      "Epoch: 8170/50000, Loss: 0.0000068228300734\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 8180/50000, Loss: 0.0000132989644044\n",
      "Epoch: 8190/50000, Loss: 0.0000122913888845\n",
      "Epoch: 8200/50000, Loss: 0.0000052962018344\n",
      "Epoch: 8210/50000, Loss: 0.0000035911248233\n",
      "Epoch: 8220/50000, Loss: 0.0000032827222185\n",
      "Epoch: 8230/50000, Loss: 0.0000032095588267\n",
      "Epoch: 8240/50000, Loss: 0.0000031734016375\n",
      "Epoch: 8250/50000, Loss: 0.0000031371989735\n",
      "Epoch: 8260/50000, Loss: 0.0000030958490242\n",
      "Epoch: 8270/50000, Loss: 0.0000030600081118\n",
      "Epoch: 8280/50000, Loss: 0.0000030347682696\n",
      "Epoch: 8290/50000, Loss: 0.0000030112707918\n",
      "Epoch: 8300/50000, Loss: 0.0000029871723655\n",
      "Epoch: 8310/50000, Loss: 0.0000029640491448\n",
      "Epoch: 8320/50000, Loss: 0.0000029409729905\n",
      "Epoch: 8330/50000, Loss: 0.0000029181933314\n",
      "Epoch: 8340/50000, Loss: 0.0000028956146707\n",
      "Epoch: 8350/50000, Loss: 0.0000028732526971\n",
      "Epoch: 8360/50000, Loss: 0.0000028510423817\n",
      "Epoch: 8370/50000, Loss: 0.0000028290037335\n",
      "Epoch: 8380/50000, Loss: 0.0000028071181077\n",
      "Epoch: 8390/50000, Loss: 0.0000027853802749\n",
      "Epoch: 8400/50000, Loss: 0.0000027637593121\n",
      "Epoch: 8410/50000, Loss: 0.0000027422829589\n",
      "Epoch: 8420/50000, Loss: 0.0000027209296150\n",
      "Epoch: 8430/50000, Loss: 0.0000026999503007\n",
      "Epoch: 8440/50000, Loss: 0.0000026923785299\n",
      "Epoch: 8450/50000, Loss: 0.0000042182809921\n",
      "Epoch: 8460/50000, Loss: 0.0000573535871808\n",
      "Epoch: 8470/50000, Loss: 0.0000090417797765\n",
      "Epoch: 8480/50000, Loss: 0.0000029661662211\n",
      "Epoch: 8490/50000, Loss: 0.0000026676216294\n",
      "Epoch: 8500/50000, Loss: 0.0000028967447179\n",
      "Epoch: 8510/50000, Loss: 0.0000028290062346\n",
      "Epoch: 8520/50000, Loss: 0.0000025986096261\n",
      "Epoch: 8530/50000, Loss: 0.0000025186977837\n",
      "Epoch: 8540/50000, Loss: 0.0000025107765396\n",
      "Epoch: 8550/50000, Loss: 0.0000024778360057\n",
      "Epoch: 8560/50000, Loss: 0.0000024604369173\n",
      "Epoch: 8570/50000, Loss: 0.0000024399560061\n",
      "Epoch: 8580/50000, Loss: 0.0000024211949494\n",
      "Epoch: 8590/50000, Loss: 0.0000024028338430\n",
      "Epoch: 8600/50000, Loss: 0.0000023846291697\n",
      "Epoch: 8610/50000, Loss: 0.0000023666293600\n",
      "Epoch: 8620/50000, Loss: 0.0000023488307761\n",
      "Epoch: 8630/50000, Loss: 0.0000023311895347\n",
      "Epoch: 8640/50000, Loss: 0.0000023137340577\n",
      "Epoch: 8650/50000, Loss: 0.0000022964404707\n",
      "Epoch: 8660/50000, Loss: 0.0000022792798973\n",
      "Epoch: 8670/50000, Loss: 0.0000022623321456\n",
      "Epoch: 8680/50000, Loss: 0.0000022454980808\n",
      "Epoch: 8690/50000, Loss: 0.0000022304936920\n",
      "Epoch: 8700/50000, Loss: 0.0000024657576887\n",
      "Epoch: 8710/50000, Loss: 0.0000521485708305\n",
      "Epoch: 8720/50000, Loss: 0.0000140626852954\n",
      "Epoch: 8730/50000, Loss: 0.0000059180997596\n",
      "Epoch: 8740/50000, Loss: 0.0000028240922347\n",
      "Epoch: 8750/50000, Loss: 0.0000022753106350\n",
      "Epoch: 8760/50000, Loss: 0.0000021846476557\n",
      "Epoch: 8770/50000, Loss: 0.0000021591204131\n",
      "Epoch: 8780/50000, Loss: 0.0000021392690996\n",
      "Epoch: 8790/50000, Loss: 0.0000021117098186\n",
      "Epoch: 8800/50000, Loss: 0.0000020810939532\n",
      "Epoch: 8810/50000, Loss: 0.0000020595484784\n",
      "Epoch: 8820/50000, Loss: 0.0000020448019313\n",
      "Epoch: 8830/50000, Loss: 0.0000020290801785\n",
      "Epoch: 8840/50000, Loss: 0.0000020140316792\n",
      "Epoch: 8850/50000, Loss: 0.0000019992423859\n",
      "Epoch: 8860/50000, Loss: 0.0000019847097974\n",
      "Epoch: 8870/50000, Loss: 0.0000019703113594\n",
      "Epoch: 8880/50000, Loss: 0.0000019561146019\n",
      "Epoch: 8890/50000, Loss: 0.0000019420538138\n",
      "Epoch: 8900/50000, Loss: 0.0000019281528694\n",
      "Epoch: 8910/50000, Loss: 0.0000019143703867\n",
      "Epoch: 8920/50000, Loss: 0.0000019007520677\n",
      "Epoch: 8930/50000, Loss: 0.0000018872494820\n",
      "Epoch: 8940/50000, Loss: 0.0000018738597873\n",
      "Epoch: 8950/50000, Loss: 0.0000018606194772\n",
      "Epoch: 8960/50000, Loss: 0.0000018475099068\n",
      "Epoch: 8970/50000, Loss: 0.0000018349999209\n",
      "Epoch: 8980/50000, Loss: 0.0000018608727714\n",
      "Epoch: 8990/50000, Loss: 0.0000077814011092\n",
      "Epoch: 9000/50000, Loss: 0.0000023333946046\n",
      "Epoch: 9010/50000, Loss: 0.0000082038895926\n",
      "Epoch: 9020/50000, Loss: 0.0000050353964980\n",
      "Epoch: 9030/50000, Loss: 0.0000032742070744\n",
      "Epoch: 9040/50000, Loss: 0.0000023934430828\n",
      "Epoch: 9050/50000, Loss: 0.0000019261799480\n",
      "Epoch: 9060/50000, Loss: 0.0000017514606725\n",
      "Epoch: 9070/50000, Loss: 0.0000017382820943\n",
      "Epoch: 9080/50000, Loss: 0.0000017271315755\n",
      "Epoch: 9090/50000, Loss: 0.0000017043478238\n",
      "Epoch: 9100/50000, Loss: 0.0000016936686507\n",
      "Epoch: 9110/50000, Loss: 0.0000016804472125\n",
      "Epoch: 9120/50000, Loss: 0.0000016689284621\n",
      "Epoch: 9130/50000, Loss: 0.0000016574082338\n",
      "Epoch: 9140/50000, Loss: 0.0000016460528514\n",
      "Epoch: 9150/50000, Loss: 0.0000016348855070\n",
      "Epoch: 9160/50000, Loss: 0.0000016238466287\n",
      "Epoch: 9170/50000, Loss: 0.0000016129466758\n",
      "Epoch: 9180/50000, Loss: 0.0000016021642750\n",
      "Epoch: 9190/50000, Loss: 0.0000015914907863\n",
      "Epoch: 9200/50000, Loss: 0.0000015809271190\n",
      "Epoch: 9210/50000, Loss: 0.0000015704808902\n",
      "Epoch: 9220/50000, Loss: 0.0000015601802943\n",
      "Epoch: 9230/50000, Loss: 0.0000015517491647\n",
      "Epoch: 9240/50000, Loss: 0.0000016806668555\n",
      "Epoch: 9250/50000, Loss: 0.0000206290133065\n",
      "Epoch: 9260/50000, Loss: 0.0000237711828959\n",
      "Epoch: 9270/50000, Loss: 0.0000031223498809\n",
      "Epoch: 9280/50000, Loss: 0.0000015406482134\n",
      "Epoch: 9290/50000, Loss: 0.0000017489277297\n",
      "Epoch: 9300/50000, Loss: 0.0000018505166963\n",
      "Epoch: 9310/50000, Loss: 0.0000016463625343\n",
      "Epoch: 9320/50000, Loss: 0.0000014856234429\n",
      "Epoch: 9330/50000, Loss: 0.0000014830571899\n",
      "Epoch: 9340/50000, Loss: 0.0000014640047539\n",
      "Epoch: 9350/50000, Loss: 0.0000014514276927\n",
      "Epoch: 9360/50000, Loss: 0.0000014405820821\n",
      "Epoch: 9370/50000, Loss: 0.0000014314451846\n",
      "Epoch: 9380/50000, Loss: 0.0000014220050844\n",
      "Epoch: 9390/50000, Loss: 0.0000014129198007\n",
      "Epoch: 9400/50000, Loss: 0.0000014040356291\n",
      "Epoch: 9410/50000, Loss: 0.0000013952703739\n",
      "Epoch: 9420/50000, Loss: 0.0000013866213067\n",
      "Epoch: 9430/50000, Loss: 0.0000013780561403\n",
      "Epoch: 9440/50000, Loss: 0.0000013696345604\n",
      "Epoch: 9450/50000, Loss: 0.0000013613100691\n",
      "Epoch: 9460/50000, Loss: 0.0000013530291199\n",
      "Epoch: 9470/50000, Loss: 0.0000013448861864\n",
      "Epoch: 9480/50000, Loss: 0.0000013388855677\n",
      "Epoch: 9490/50000, Loss: 0.0000015427518747\n",
      "Epoch: 9500/50000, Loss: 0.0000347186178260\n",
      "Epoch: 9510/50000, Loss: 0.0000286881931970\n",
      "Epoch: 9520/50000, Loss: 0.0000107535570351\n",
      "Epoch: 9530/50000, Loss: 0.0000044597354645\n",
      "Epoch: 9540/50000, Loss: 0.0000022429262572\n",
      "Epoch: 9550/50000, Loss: 0.0000014791985450\n",
      "Epoch: 9560/50000, Loss: 0.0000012986517959\n",
      "Epoch: 9570/50000, Loss: 0.0000013061202253\n",
      "Epoch: 9580/50000, Loss: 0.0000012991324638\n",
      "Epoch: 9590/50000, Loss: 0.0000012715955791\n",
      "Epoch: 9600/50000, Loss: 0.0000012641811509\n",
      "Epoch: 9610/50000, Loss: 0.0000012551062127\n",
      "Epoch: 9620/50000, Loss: 0.0000012476475604\n",
      "Epoch: 9630/50000, Loss: 0.0000012400179230\n",
      "Epoch: 9640/50000, Loss: 0.0000012328639514\n",
      "Epoch: 9650/50000, Loss: 0.0000012258038851\n",
      "Epoch: 9660/50000, Loss: 0.0000012188407936\n",
      "Epoch: 9670/50000, Loss: 0.0000012119966186\n",
      "Epoch: 9680/50000, Loss: 0.0000012052369129\n",
      "Epoch: 9690/50000, Loss: 0.0000011985659967\n",
      "Epoch: 9700/50000, Loss: 0.0000011919628378\n",
      "Epoch: 9710/50000, Loss: 0.0000011854301647\n",
      "Epoch: 9720/50000, Loss: 0.0000011789945802\n",
      "Epoch: 9730/50000, Loss: 0.0000011726394860\n",
      "Epoch: 9740/50000, Loss: 0.0000011670978211\n",
      "Epoch: 9750/50000, Loss: 0.0000012259037021\n",
      "Epoch: 9760/50000, Loss: 0.0000117215522550\n",
      "Epoch: 9770/50000, Loss: 0.0000085797901193\n",
      "Epoch: 9780/50000, Loss: 0.0000012919609844\n",
      "Epoch: 9790/50000, Loss: 0.0000014442817928\n",
      "Epoch: 9800/50000, Loss: 0.0000014530851331\n",
      "Epoch: 9810/50000, Loss: 0.0000014350928268\n",
      "Epoch: 9820/50000, Loss: 0.0000013292104768\n",
      "Epoch: 9830/50000, Loss: 0.0000011910140074\n",
      "Epoch: 9840/50000, Loss: 0.0000011263247188\n",
      "Epoch: 9850/50000, Loss: 0.0000011243693052\n",
      "Epoch: 9860/50000, Loss: 0.0000011144620657\n",
      "Epoch: 9870/50000, Loss: 0.0000011065598073\n",
      "Epoch: 9880/50000, Loss: 0.0000011004042335\n",
      "Epoch: 9890/50000, Loss: 0.0000010945569784\n",
      "Epoch: 9900/50000, Loss: 0.0000010887283679\n",
      "Epoch: 9910/50000, Loss: 0.0000010831701047\n",
      "Epoch: 9920/50000, Loss: 0.0000010776869885\n",
      "Epoch: 9930/50000, Loss: 0.0000010722910702\n",
      "Epoch: 9940/50000, Loss: 0.0000010669681387\n",
      "Epoch: 9950/50000, Loss: 0.0000010617384305\n",
      "Epoch: 9960/50000, Loss: 0.0000010565545381\n",
      "Epoch: 9970/50000, Loss: 0.0000010514416999\n",
      "Epoch: 9980/50000, Loss: 0.0000010463725175\n",
      "Epoch: 9990/50000, Loss: 0.0000010413823475\n",
      "Epoch: 10000/50000, Loss: 0.0000010364676655\n",
      "Epoch: 10010/50000, Loss: 0.0000010335352272\n",
      "Epoch: 10020/50000, Loss: 0.0000013354908788\n",
      "Epoch: 10030/50000, Loss: 0.0000588540096942\n",
      "Epoch: 10040/50000, Loss: 0.0000071896474765\n",
      "Epoch: 10050/50000, Loss: 0.0000026454126782\n",
      "Epoch: 10060/50000, Loss: 0.0000011363761132\n",
      "Epoch: 10070/50000, Loss: 0.0000010378560091\n",
      "Epoch: 10080/50000, Loss: 0.0000010283386018\n",
      "Epoch: 10090/50000, Loss: 0.0000010198691598\n",
      "Epoch: 10100/50000, Loss: 0.0000010202053318\n",
      "Epoch: 10110/50000, Loss: 0.0000010185757446\n",
      "Epoch: 10120/50000, Loss: 0.0000010083883808\n",
      "Epoch: 10130/50000, Loss: 0.0000009969556913\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10140/50000, Loss: 0.0000009909858818\n",
      "Epoch: 10150/50000, Loss: 0.0000009863923651\n",
      "Epoch: 10160/50000, Loss: 0.0000009813646784\n",
      "Epoch: 10170/50000, Loss: 0.0000009768457403\n",
      "Epoch: 10180/50000, Loss: 0.0000009723437415\n",
      "Epoch: 10190/50000, Loss: 0.0000009679728237\n",
      "Epoch: 10200/50000, Loss: 0.0000009636964933\n",
      "Epoch: 10210/50000, Loss: 0.0000009594607491\n",
      "Epoch: 10220/50000, Loss: 0.0000009553029940\n",
      "Epoch: 10230/50000, Loss: 0.0000009511935559\n",
      "Epoch: 10240/50000, Loss: 0.0000009471517046\n",
      "Epoch: 10250/50000, Loss: 0.0000009431499848\n",
      "Epoch: 10260/50000, Loss: 0.0000009392035167\n",
      "Epoch: 10270/50000, Loss: 0.0000009352626762\n",
      "Epoch: 10280/50000, Loss: 0.0000009314261433\n",
      "Epoch: 10290/50000, Loss: 0.0000009278654147\n",
      "Epoch: 10300/50000, Loss: 0.0000009422171274\n",
      "Epoch: 10310/50000, Loss: 0.0000033994315345\n",
      "Epoch: 10320/50000, Loss: 0.0000372332215193\n",
      "Epoch: 10330/50000, Loss: 0.0000165420970006\n",
      "Epoch: 10340/50000, Loss: 0.0000055356526900\n",
      "Epoch: 10350/50000, Loss: 0.0000021991377253\n",
      "Epoch: 10360/50000, Loss: 0.0000011436092109\n",
      "Epoch: 10370/50000, Loss: 0.0000009220981951\n",
      "Epoch: 10380/50000, Loss: 0.0000009472373677\n",
      "Epoch: 10390/50000, Loss: 0.0000009449451568\n",
      "Epoch: 10400/50000, Loss: 0.0000009096023632\n",
      "Epoch: 10410/50000, Loss: 0.0000009036951951\n",
      "Epoch: 10420/50000, Loss: 0.0000008987260003\n",
      "Epoch: 10430/50000, Loss: 0.0000008941409533\n",
      "Epoch: 10440/50000, Loss: 0.0000008900522630\n",
      "Epoch: 10450/50000, Loss: 0.0000008864437291\n",
      "Epoch: 10460/50000, Loss: 0.0000008828232012\n",
      "Epoch: 10470/50000, Loss: 0.0000008792860058\n",
      "Epoch: 10480/50000, Loss: 0.0000008758411241\n",
      "Epoch: 10490/50000, Loss: 0.0000008724533700\n",
      "Epoch: 10500/50000, Loss: 0.0000008690943787\n",
      "Epoch: 10510/50000, Loss: 0.0000008658004731\n",
      "Epoch: 10520/50000, Loss: 0.0000008625514738\n",
      "Epoch: 10530/50000, Loss: 0.0000008593343637\n",
      "Epoch: 10540/50000, Loss: 0.0000008561560207\n",
      "Epoch: 10550/50000, Loss: 0.0000008531512208\n",
      "Epoch: 10560/50000, Loss: 0.0000008594028031\n",
      "Epoch: 10570/50000, Loss: 0.0000021997993827\n",
      "Epoch: 10580/50000, Loss: 0.0000664424733259\n",
      "Epoch: 10590/50000, Loss: 0.0000116183528007\n",
      "Epoch: 10600/50000, Loss: 0.0000039064352677\n",
      "Epoch: 10610/50000, Loss: 0.0000018776152046\n",
      "Epoch: 10620/50000, Loss: 0.0000011063868897\n",
      "Epoch: 10630/50000, Loss: 0.0000008736892596\n",
      "Epoch: 10640/50000, Loss: 0.0000008540189924\n",
      "Epoch: 10650/50000, Loss: 0.0000008685505009\n",
      "Epoch: 10660/50000, Loss: 0.0000008541428542\n",
      "Epoch: 10670/50000, Loss: 0.0000008367811688\n",
      "Epoch: 10680/50000, Loss: 0.0000008339807209\n",
      "Epoch: 10690/50000, Loss: 0.0000008295928637\n",
      "Epoch: 10700/50000, Loss: 0.0000008262346682\n",
      "Epoch: 10710/50000, Loss: 0.0000008228615798\n",
      "Epoch: 10720/50000, Loss: 0.0000008198256864\n",
      "Epoch: 10730/50000, Loss: 0.0000008167792771\n",
      "Epoch: 10740/50000, Loss: 0.0000008138169392\n",
      "Epoch: 10750/50000, Loss: 0.0000008108939937\n",
      "Epoch: 10760/50000, Loss: 0.0000008080479574\n",
      "Epoch: 10770/50000, Loss: 0.0000008052294334\n",
      "Epoch: 10780/50000, Loss: 0.0000008024458111\n",
      "Epoch: 10790/50000, Loss: 0.0000007996928844\n",
      "Epoch: 10800/50000, Loss: 0.0000007969704825\n",
      "Epoch: 10810/50000, Loss: 0.0000007942848015\n",
      "Epoch: 10820/50000, Loss: 0.0000007922471923\n",
      "Epoch: 10830/50000, Loss: 0.0000008300916079\n",
      "Epoch: 10840/50000, Loss: 0.0000062484918999\n",
      "Epoch: 10850/50000, Loss: 0.0000036658377667\n",
      "Epoch: 10860/50000, Loss: 0.0000109114216684\n",
      "Epoch: 10870/50000, Loss: 0.0000053529552133\n",
      "Epoch: 10880/50000, Loss: 0.0000024955347726\n",
      "Epoch: 10890/50000, Loss: 0.0000012409834653\n",
      "Epoch: 10900/50000, Loss: 0.0000008227943908\n",
      "Epoch: 10910/50000, Loss: 0.0000008045099094\n",
      "Epoch: 10920/50000, Loss: 0.0000008142145589\n",
      "Epoch: 10930/50000, Loss: 0.0000007838636407\n",
      "Epoch: 10940/50000, Loss: 0.0000007815945651\n",
      "Epoch: 10950/50000, Loss: 0.0000007760701237\n",
      "Epoch: 10960/50000, Loss: 0.0000007734109317\n",
      "Epoch: 10970/50000, Loss: 0.0000007701420941\n",
      "Epoch: 10980/50000, Loss: 0.0000007673501159\n",
      "Epoch: 10990/50000, Loss: 0.0000007646955851\n",
      "Epoch: 11000/50000, Loss: 0.0000007620916449\n",
      "Epoch: 11010/50000, Loss: 0.0000007595043598\n",
      "Epoch: 11020/50000, Loss: 0.0000007569809668\n",
      "Epoch: 11030/50000, Loss: 0.0000007544822438\n",
      "Epoch: 11040/50000, Loss: 0.0000007520202416\n",
      "Epoch: 11050/50000, Loss: 0.0000007496042258\n",
      "Epoch: 11060/50000, Loss: 0.0000007472123116\n",
      "Epoch: 11070/50000, Loss: 0.0000007451756119\n",
      "Epoch: 11080/50000, Loss: 0.0000007623048646\n",
      "Epoch: 11090/50000, Loss: 0.0000031441329611\n",
      "Epoch: 11100/50000, Loss: 0.0000399368072976\n",
      "Epoch: 11110/50000, Loss: 0.0000144976265801\n",
      "Epoch: 11120/50000, Loss: 0.0000039753099372\n",
      "Epoch: 11130/50000, Loss: 0.0000013514787724\n",
      "Epoch: 11140/50000, Loss: 0.0000007726506510\n",
      "Epoch: 11150/50000, Loss: 0.0000007958145716\n",
      "Epoch: 11160/50000, Loss: 0.0000008284993100\n",
      "Epoch: 11170/50000, Loss: 0.0000007652266731\n",
      "Epoch: 11180/50000, Loss: 0.0000007394477279\n",
      "Epoch: 11190/50000, Loss: 0.0000007405119504\n",
      "Epoch: 11200/50000, Loss: 0.0000007331262282\n",
      "Epoch: 11210/50000, Loss: 0.0000007309849934\n",
      "Epoch: 11220/50000, Loss: 0.0000007279597867\n",
      "Epoch: 11230/50000, Loss: 0.0000007252976388\n",
      "Epoch: 11240/50000, Loss: 0.0000007228287018\n",
      "Epoch: 11250/50000, Loss: 0.0000007204218377\n",
      "Epoch: 11260/50000, Loss: 0.0000007180666444\n",
      "Epoch: 11270/50000, Loss: 0.0000007157292998\n",
      "Epoch: 11280/50000, Loss: 0.0000007134444786\n",
      "Epoch: 11290/50000, Loss: 0.0000007111939340\n",
      "Epoch: 11300/50000, Loss: 0.0000007089583391\n",
      "Epoch: 11310/50000, Loss: 0.0000007067542356\n",
      "Epoch: 11320/50000, Loss: 0.0000007045640587\n",
      "Epoch: 11330/50000, Loss: 0.0000007026162052\n",
      "Epoch: 11340/50000, Loss: 0.0000007242693982\n",
      "Epoch: 11350/50000, Loss: 0.0000056695671447\n",
      "Epoch: 11360/50000, Loss: 0.0000022262661332\n",
      "Epoch: 11370/50000, Loss: 0.0000042914784899\n",
      "Epoch: 11380/50000, Loss: 0.0000010943907682\n",
      "Epoch: 11390/50000, Loss: 0.0000007328770266\n",
      "Epoch: 11400/50000, Loss: 0.0000007395548778\n",
      "Epoch: 11410/50000, Loss: 0.0000007197357377\n",
      "Epoch: 11420/50000, Loss: 0.0000007099241088\n",
      "Epoch: 11430/50000, Loss: 0.0000007116437928\n",
      "Epoch: 11440/50000, Loss: 0.0000007111647733\n",
      "Epoch: 11450/50000, Loss: 0.0000007043154824\n",
      "Epoch: 11460/50000, Loss: 0.0000006975111546\n",
      "Epoch: 11470/50000, Loss: 0.0000006946852409\n",
      "Epoch: 11480/50000, Loss: 0.0000006920730584\n",
      "Epoch: 11490/50000, Loss: 0.0000006894391618\n",
      "Epoch: 11500/50000, Loss: 0.0000006870457128\n",
      "Epoch: 11510/50000, Loss: 0.0000006846960900\n",
      "Epoch: 11520/50000, Loss: 0.0000006823971717\n",
      "Epoch: 11530/50000, Loss: 0.0000006801716950\n",
      "Epoch: 11540/50000, Loss: 0.0000006779883961\n",
      "Epoch: 11550/50000, Loss: 0.0000006758160680\n",
      "Epoch: 11560/50000, Loss: 0.0000006736806881\n",
      "Epoch: 11570/50000, Loss: 0.0000006716007874\n",
      "Epoch: 11580/50000, Loss: 0.0000006695119623\n",
      "Epoch: 11590/50000, Loss: 0.0000006674637802\n",
      "Epoch: 11600/50000, Loss: 0.0000006654175309\n",
      "Epoch: 11610/50000, Loss: 0.0000006634012379\n",
      "Epoch: 11620/50000, Loss: 0.0000006617162853\n",
      "Epoch: 11630/50000, Loss: 0.0000006889914630\n",
      "Epoch: 11640/50000, Loss: 0.0000062125304794\n",
      "Epoch: 11650/50000, Loss: 0.0000012872881143\n",
      "Epoch: 11660/50000, Loss: 0.0000043399568312\n",
      "Epoch: 11670/50000, Loss: 0.0000014540102029\n",
      "Epoch: 11680/50000, Loss: 0.0000007849663461\n",
      "Epoch: 11690/50000, Loss: 0.0000007067446290\n",
      "Epoch: 11700/50000, Loss: 0.0000007041619483\n",
      "Epoch: 11710/50000, Loss: 0.0000007047276540\n",
      "Epoch: 11720/50000, Loss: 0.0000006935471788\n",
      "Epoch: 11730/50000, Loss: 0.0000006737402600\n",
      "Epoch: 11740/50000, Loss: 0.0000006609172374\n",
      "Epoch: 11750/50000, Loss: 0.0000006583042023\n",
      "Epoch: 11760/50000, Loss: 0.0000006556353469\n",
      "Epoch: 11770/50000, Loss: 0.0000006527933465\n",
      "Epoch: 11780/50000, Loss: 0.0000006504919270\n",
      "Epoch: 11790/50000, Loss: 0.0000006482088111\n",
      "Epoch: 11800/50000, Loss: 0.0000006459881661\n",
      "Epoch: 11810/50000, Loss: 0.0000006438360742\n",
      "Epoch: 11820/50000, Loss: 0.0000006417408258\n",
      "Epoch: 11830/50000, Loss: 0.0000006396729191\n",
      "Epoch: 11840/50000, Loss: 0.0000006376301371\n",
      "Epoch: 11850/50000, Loss: 0.0000006356276003\n",
      "Epoch: 11860/50000, Loss: 0.0000006336262004\n",
      "Epoch: 11870/50000, Loss: 0.0000006316748795\n",
      "Epoch: 11880/50000, Loss: 0.0000006297409527\n",
      "Epoch: 11890/50000, Loss: 0.0000006278168598\n",
      "Epoch: 11900/50000, Loss: 0.0000006259400607\n",
      "Epoch: 11910/50000, Loss: 0.0000006262515626\n",
      "Epoch: 11920/50000, Loss: 0.0000009888703971\n",
      "Epoch: 11930/50000, Loss: 0.0000677958887536\n",
      "Epoch: 11940/50000, Loss: 0.0000018960809030\n",
      "Epoch: 11950/50000, Loss: 0.0000007316646702\n",
      "Epoch: 11960/50000, Loss: 0.0000011520193084\n",
      "Epoch: 11970/50000, Loss: 0.0000011753502349\n",
      "Epoch: 11980/50000, Loss: 0.0000009065628319\n",
      "Epoch: 11990/50000, Loss: 0.0000007349404996\n",
      "Epoch: 12000/50000, Loss: 0.0000006607369869\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 12010/50000, Loss: 0.0000006350113040\n",
      "Epoch: 12020/50000, Loss: 0.0000006288199188\n",
      "Epoch: 12030/50000, Loss: 0.0000006273974122\n",
      "Epoch: 12040/50000, Loss: 0.0000006244380302\n",
      "Epoch: 12050/50000, Loss: 0.0000006211008099\n",
      "Epoch: 12060/50000, Loss: 0.0000006188164434\n",
      "Epoch: 12070/50000, Loss: 0.0000006164954129\n",
      "Epoch: 12080/50000, Loss: 0.0000006143069413\n",
      "Epoch: 12090/50000, Loss: 0.0000006121768479\n",
      "Epoch: 12100/50000, Loss: 0.0000006100873406\n",
      "Epoch: 12110/50000, Loss: 0.0000006080432513\n",
      "Epoch: 12120/50000, Loss: 0.0000006060633382\n",
      "Epoch: 12130/50000, Loss: 0.0000006040891662\n",
      "Epoch: 12140/50000, Loss: 0.0000006021497256\n",
      "Epoch: 12150/50000, Loss: 0.0000006002359783\n",
      "Epoch: 12160/50000, Loss: 0.0000005983603728\n",
      "Epoch: 12170/50000, Loss: 0.0000005964735692\n",
      "Epoch: 12180/50000, Loss: 0.0000005946146189\n",
      "Epoch: 12190/50000, Loss: 0.0000005928107498\n",
      "Epoch: 12200/50000, Loss: 0.0000005910389405\n",
      "Epoch: 12210/50000, Loss: 0.0000005935152103\n",
      "Epoch: 12220/50000, Loss: 0.0000013602615354\n",
      "Epoch: 12230/50000, Loss: 0.0000825998795335\n",
      "Epoch: 12240/50000, Loss: 0.0000090360426839\n",
      "Epoch: 12250/50000, Loss: 0.0000054859706324\n",
      "Epoch: 12260/50000, Loss: 0.0000032719763112\n",
      "Epoch: 12270/50000, Loss: 0.0000016573045514\n",
      "Epoch: 12280/50000, Loss: 0.0000009763499520\n",
      "Epoch: 12290/50000, Loss: 0.0000007368602155\n",
      "Epoch: 12300/50000, Loss: 0.0000006491688964\n",
      "Epoch: 12310/50000, Loss: 0.0000006126336984\n",
      "Epoch: 12320/50000, Loss: 0.0000005973205930\n",
      "Epoch: 12330/50000, Loss: 0.0000005926390827\n",
      "Epoch: 12340/50000, Loss: 0.0000005907850777\n",
      "Epoch: 12350/50000, Loss: 0.0000005880204412\n",
      "Epoch: 12360/50000, Loss: 0.0000005855926588\n",
      "Epoch: 12370/50000, Loss: 0.0000005834227750\n",
      "Epoch: 12380/50000, Loss: 0.0000005813060397\n",
      "Epoch: 12390/50000, Loss: 0.0000005792503543\n",
      "Epoch: 12400/50000, Loss: 0.0000005772554346\n",
      "Epoch: 12410/50000, Loss: 0.0000005752843322\n",
      "Epoch: 12420/50000, Loss: 0.0000005733601256\n",
      "Epoch: 12430/50000, Loss: 0.0000005714580880\n",
      "Epoch: 12440/50000, Loss: 0.0000005696102789\n",
      "Epoch: 12450/50000, Loss: 0.0000005677572972\n",
      "Epoch: 12460/50000, Loss: 0.0000005659501880\n",
      "Epoch: 12470/50000, Loss: 0.0000005641570056\n",
      "Epoch: 12480/50000, Loss: 0.0000005623674042\n",
      "Epoch: 12490/50000, Loss: 0.0000005606397053\n",
      "Epoch: 12500/50000, Loss: 0.0000005592278285\n",
      "Epoch: 12510/50000, Loss: 0.0000005910675895\n",
      "Epoch: 12520/50000, Loss: 0.0000072438924690\n",
      "Epoch: 12530/50000, Loss: 0.0000010676538977\n",
      "Epoch: 12540/50000, Loss: 0.0000013274943740\n",
      "Epoch: 12550/50000, Loss: 0.0000006245152804\n",
      "Epoch: 12560/50000, Loss: 0.0000006799147059\n",
      "Epoch: 12570/50000, Loss: 0.0000006467921025\n",
      "Epoch: 12580/50000, Loss: 0.0000005905214948\n",
      "Epoch: 12590/50000, Loss: 0.0000005714106237\n",
      "Epoch: 12600/50000, Loss: 0.0000005727755479\n",
      "Epoch: 12610/50000, Loss: 0.0000005733483022\n",
      "Epoch: 12620/50000, Loss: 0.0000005668708241\n",
      "Epoch: 12630/50000, Loss: 0.0000005607449793\n",
      "Epoch: 12640/50000, Loss: 0.0000005585393410\n",
      "Epoch: 12650/50000, Loss: 0.0000005561640819\n",
      "Epoch: 12660/50000, Loss: 0.0000005539578751\n",
      "Epoch: 12670/50000, Loss: 0.0000005518713238\n",
      "Epoch: 12680/50000, Loss: 0.0000005498805535\n",
      "Epoch: 12690/50000, Loss: 0.0000005479230936\n",
      "Epoch: 12700/50000, Loss: 0.0000005460190664\n",
      "Epoch: 12710/50000, Loss: 0.0000005441590361\n",
      "Epoch: 12720/50000, Loss: 0.0000005423154903\n",
      "Epoch: 12730/50000, Loss: 0.0000005405037768\n",
      "Epoch: 12740/50000, Loss: 0.0000005387255442\n",
      "Epoch: 12750/50000, Loss: 0.0000005369659561\n",
      "Epoch: 12760/50000, Loss: 0.0000005352310382\n",
      "Epoch: 12770/50000, Loss: 0.0000005335105584\n",
      "Epoch: 12780/50000, Loss: 0.0000005318159992\n",
      "Epoch: 12790/50000, Loss: 0.0000005307699098\n",
      "Epoch: 12800/50000, Loss: 0.0000006106750448\n",
      "Epoch: 12810/50000, Loss: 0.0000193628056877\n",
      "Epoch: 12820/50000, Loss: 0.0000340534170391\n",
      "Epoch: 12830/50000, Loss: 0.0000114762397061\n",
      "Epoch: 12840/50000, Loss: 0.0000050003591241\n",
      "Epoch: 12850/50000, Loss: 0.0000019939041067\n",
      "Epoch: 12860/50000, Loss: 0.0000009861647641\n",
      "Epoch: 12870/50000, Loss: 0.0000006975882911\n",
      "Epoch: 12880/50000, Loss: 0.0000006057719020\n",
      "Epoch: 12890/50000, Loss: 0.0000005674527301\n",
      "Epoch: 12900/50000, Loss: 0.0000005470608357\n",
      "Epoch: 12910/50000, Loss: 0.0000005371594511\n",
      "Epoch: 12920/50000, Loss: 0.0000005340538678\n",
      "Epoch: 12930/50000, Loss: 0.0000005320929404\n",
      "Epoch: 12940/50000, Loss: 0.0000005295050869\n",
      "Epoch: 12950/50000, Loss: 0.0000005274386581\n",
      "Epoch: 12960/50000, Loss: 0.0000005253773452\n",
      "Epoch: 12970/50000, Loss: 0.0000005234372225\n",
      "Epoch: 12980/50000, Loss: 0.0000005215045462\n",
      "Epoch: 12990/50000, Loss: 0.0000005196270081\n",
      "Epoch: 13000/50000, Loss: 0.0000005178163178\n",
      "Epoch: 13010/50000, Loss: 0.0000005160256933\n",
      "Epoch: 13020/50000, Loss: 0.0000005142572945\n",
      "Epoch: 13030/50000, Loss: 0.0000005125031635\n",
      "Epoch: 13040/50000, Loss: 0.0000005108190635\n",
      "Epoch: 13050/50000, Loss: 0.0000005091040975\n",
      "Epoch: 13060/50000, Loss: 0.0000005074413139\n",
      "Epoch: 13070/50000, Loss: 0.0000005058296892\n",
      "Epoch: 13080/50000, Loss: 0.0000005054072290\n",
      "Epoch: 13090/50000, Loss: 0.0000006059543693\n",
      "Epoch: 13100/50000, Loss: 0.0000164266948559\n",
      "Epoch: 13110/50000, Loss: 0.0000205203996302\n",
      "Epoch: 13120/50000, Loss: 0.0000024006153581\n",
      "Epoch: 13130/50000, Loss: 0.0000008979359336\n",
      "Epoch: 13140/50000, Loss: 0.0000005661183877\n",
      "Epoch: 13150/50000, Loss: 0.0000005289364253\n",
      "Epoch: 13160/50000, Loss: 0.0000005741007385\n",
      "Epoch: 13170/50000, Loss: 0.0000005733458011\n",
      "Epoch: 13180/50000, Loss: 0.0000005306640105\n",
      "Epoch: 13190/50000, Loss: 0.0000005100371254\n",
      "Epoch: 13200/50000, Loss: 0.0000005104829484\n",
      "Epoch: 13210/50000, Loss: 0.0000005057837598\n",
      "Epoch: 13220/50000, Loss: 0.0000005038576205\n",
      "Epoch: 13230/50000, Loss: 0.0000005014839530\n",
      "Epoch: 13240/50000, Loss: 0.0000004995805511\n",
      "Epoch: 13250/50000, Loss: 0.0000004976794230\n",
      "Epoch: 13260/50000, Loss: 0.0000004958408795\n",
      "Epoch: 13270/50000, Loss: 0.0000004940415579\n",
      "Epoch: 13280/50000, Loss: 0.0000004922767403\n",
      "Epoch: 13290/50000, Loss: 0.0000004905549531\n",
      "Epoch: 13300/50000, Loss: 0.0000004888507874\n",
      "Epoch: 13310/50000, Loss: 0.0000004871861847\n",
      "Epoch: 13320/50000, Loss: 0.0000004855436373\n",
      "Epoch: 13330/50000, Loss: 0.0000004839205303\n",
      "Epoch: 13340/50000, Loss: 0.0000004823294262\n",
      "Epoch: 13350/50000, Loss: 0.0000004819952437\n",
      "Epoch: 13360/50000, Loss: 0.0000006826079471\n",
      "Epoch: 13370/50000, Loss: 0.0000467888712592\n",
      "Epoch: 13380/50000, Loss: 0.0000168872848008\n",
      "Epoch: 13390/50000, Loss: 0.0000036398821521\n",
      "Epoch: 13400/50000, Loss: 0.0000005503171110\n",
      "Epoch: 13410/50000, Loss: 0.0000007272225844\n",
      "Epoch: 13420/50000, Loss: 0.0000007197041327\n",
      "Epoch: 13430/50000, Loss: 0.0000006053863331\n",
      "Epoch: 13440/50000, Loss: 0.0000005349148751\n",
      "Epoch: 13450/50000, Loss: 0.0000005043999636\n",
      "Epoch: 13460/50000, Loss: 0.0000004934140634\n",
      "Epoch: 13470/50000, Loss: 0.0000004901546617\n",
      "Epoch: 13480/50000, Loss: 0.0000004884157079\n",
      "Epoch: 13490/50000, Loss: 0.0000004858801503\n",
      "Epoch: 13500/50000, Loss: 0.0000004834280389\n",
      "Epoch: 13510/50000, Loss: 0.0000004814485806\n",
      "Epoch: 13520/50000, Loss: 0.0000004794434290\n",
      "Epoch: 13530/50000, Loss: 0.0000004775766911\n",
      "Epoch: 13540/50000, Loss: 0.0000004757081058\n",
      "Epoch: 13550/50000, Loss: 0.0000004739107737\n",
      "Epoch: 13560/50000, Loss: 0.0000004721511573\n",
      "Epoch: 13570/50000, Loss: 0.0000004704249079\n",
      "Epoch: 13580/50000, Loss: 0.0000004687299793\n",
      "Epoch: 13590/50000, Loss: 0.0000004670753242\n",
      "Epoch: 13600/50000, Loss: 0.0000004654301904\n",
      "Epoch: 13610/50000, Loss: 0.0000004637925883\n",
      "Epoch: 13620/50000, Loss: 0.0000004622112613\n",
      "Epoch: 13630/50000, Loss: 0.0000004606341122\n",
      "Epoch: 13640/50000, Loss: 0.0000004590931439\n",
      "Epoch: 13650/50000, Loss: 0.0000004575674097\n",
      "Epoch: 13660/50000, Loss: 0.0000004595333394\n",
      "Epoch: 13670/50000, Loss: 0.0000012743649904\n",
      "Epoch: 13680/50000, Loss: 0.0000911092647584\n",
      "Epoch: 13690/50000, Loss: 0.0000208052861126\n",
      "Epoch: 13700/50000, Loss: 0.0000091692318165\n",
      "Epoch: 13710/50000, Loss: 0.0000018010701979\n",
      "Epoch: 13720/50000, Loss: 0.0000004892641527\n",
      "Epoch: 13730/50000, Loss: 0.0000005774156193\n",
      "Epoch: 13740/50000, Loss: 0.0000005640897029\n",
      "Epoch: 13750/50000, Loss: 0.0000005163884680\n",
      "Epoch: 13760/50000, Loss: 0.0000004885182534\n",
      "Epoch: 13770/50000, Loss: 0.0000004755996486\n",
      "Epoch: 13780/50000, Loss: 0.0000004693868902\n",
      "Epoch: 13790/50000, Loss: 0.0000004660918762\n",
      "Epoch: 13800/50000, Loss: 0.0000004639205144\n",
      "Epoch: 13810/50000, Loss: 0.0000004618568710\n",
      "Epoch: 13820/50000, Loss: 0.0000004597708028\n",
      "Epoch: 13830/50000, Loss: 0.0000004578103585\n",
      "Epoch: 13840/50000, Loss: 0.0000004559358331\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 13850/50000, Loss: 0.0000004540868304\n",
      "Epoch: 13860/50000, Loss: 0.0000004523062671\n",
      "Epoch: 13870/50000, Loss: 0.0000004505656648\n",
      "Epoch: 13880/50000, Loss: 0.0000004488510967\n",
      "Epoch: 13890/50000, Loss: 0.0000004471776833\n",
      "Epoch: 13900/50000, Loss: 0.0000004455485794\n",
      "Epoch: 13910/50000, Loss: 0.0000004439355905\n",
      "Epoch: 13920/50000, Loss: 0.0000004423353062\n",
      "Epoch: 13930/50000, Loss: 0.0000004407590950\n",
      "Epoch: 13940/50000, Loss: 0.0000004392196900\n",
      "Epoch: 13950/50000, Loss: 0.0000004377036475\n",
      "Epoch: 13960/50000, Loss: 0.0000004362102572\n",
      "Epoch: 13970/50000, Loss: 0.0000004360142043\n",
      "Epoch: 13980/50000, Loss: 0.0000005520808486\n",
      "Epoch: 13990/50000, Loss: 0.0000201815091714\n",
      "Epoch: 14000/50000, Loss: 0.0000275717648037\n",
      "Epoch: 14010/50000, Loss: 0.0000062050557972\n",
      "Epoch: 14020/50000, Loss: 0.0000024899945856\n",
      "Epoch: 14030/50000, Loss: 0.0000011546694623\n",
      "Epoch: 14040/50000, Loss: 0.0000006240481412\n",
      "Epoch: 14050/50000, Loss: 0.0000004664977098\n",
      "Epoch: 14060/50000, Loss: 0.0000004525581119\n",
      "Epoch: 14070/50000, Loss: 0.0000004616187255\n",
      "Epoch: 14080/50000, Loss: 0.0000004518725802\n",
      "Epoch: 14090/50000, Loss: 0.0000004420962227\n",
      "Epoch: 14100/50000, Loss: 0.0000004408670975\n",
      "Epoch: 14110/50000, Loss: 0.0000004380268024\n",
      "Epoch: 14120/50000, Loss: 0.0000004362079835\n",
      "Epoch: 14130/50000, Loss: 0.0000004342387854\n",
      "Epoch: 14140/50000, Loss: 0.0000004324589895\n",
      "Epoch: 14150/50000, Loss: 0.0000004307250379\n",
      "Epoch: 14160/50000, Loss: 0.0000004290457980\n",
      "Epoch: 14170/50000, Loss: 0.0000004273776426\n",
      "Epoch: 14180/50000, Loss: 0.0000004257700823\n",
      "Epoch: 14190/50000, Loss: 0.0000004241700537\n",
      "Epoch: 14200/50000, Loss: 0.0000004226058081\n",
      "Epoch: 14210/50000, Loss: 0.0000004210722295\n",
      "Epoch: 14220/50000, Loss: 0.0000004195651968\n",
      "Epoch: 14230/50000, Loss: 0.0000004181352722\n",
      "Epoch: 14240/50000, Loss: 0.0000004196983241\n",
      "Epoch: 14250/50000, Loss: 0.0000007459343010\n",
      "Epoch: 14260/50000, Loss: 0.0000481027818751\n",
      "Epoch: 14270/50000, Loss: 0.0000146213260450\n",
      "Epoch: 14280/50000, Loss: 0.0000068406238825\n",
      "Epoch: 14290/50000, Loss: 0.0000026154070838\n",
      "Epoch: 14300/50000, Loss: 0.0000012397947557\n",
      "Epoch: 14310/50000, Loss: 0.0000007827064223\n",
      "Epoch: 14320/50000, Loss: 0.0000005763543527\n",
      "Epoch: 14330/50000, Loss: 0.0000004686501711\n",
      "Epoch: 14340/50000, Loss: 0.0000004305843504\n",
      "Epoch: 14350/50000, Loss: 0.0000004293223697\n",
      "Epoch: 14360/50000, Loss: 0.0000004270155785\n",
      "Epoch: 14370/50000, Loss: 0.0000004226597525\n",
      "Epoch: 14380/50000, Loss: 0.0000004210241116\n",
      "Epoch: 14390/50000, Loss: 0.0000004188422338\n",
      "Epoch: 14400/50000, Loss: 0.0000004170521493\n",
      "Epoch: 14410/50000, Loss: 0.0000004153015993\n",
      "Epoch: 14420/50000, Loss: 0.0000004135802669\n",
      "Epoch: 14430/50000, Loss: 0.0000004119101504\n",
      "Epoch: 14440/50000, Loss: 0.0000004102822118\n",
      "Epoch: 14450/50000, Loss: 0.0000004086855370\n",
      "Epoch: 14460/50000, Loss: 0.0000004071213766\n",
      "Epoch: 14470/50000, Loss: 0.0000004055928571\n",
      "Epoch: 14480/50000, Loss: 0.0000004040674355\n",
      "Epoch: 14490/50000, Loss: 0.0000004025946510\n",
      "Epoch: 14500/50000, Loss: 0.0000004011399142\n",
      "Epoch: 14510/50000, Loss: 0.0000004011008912\n",
      "Epoch: 14520/50000, Loss: 0.0000005748198646\n",
      "Epoch: 14530/50000, Loss: 0.0000349311630998\n",
      "Epoch: 14540/50000, Loss: 0.0000285011865344\n",
      "Epoch: 14550/50000, Loss: 0.0000097955362435\n",
      "Epoch: 14560/50000, Loss: 0.0000028361398563\n",
      "Epoch: 14570/50000, Loss: 0.0000009419741218\n",
      "Epoch: 14580/50000, Loss: 0.0000005601226576\n",
      "Epoch: 14590/50000, Loss: 0.0000004788898309\n",
      "Epoch: 14600/50000, Loss: 0.0000004524530937\n",
      "Epoch: 14610/50000, Loss: 0.0000004351565508\n",
      "Epoch: 14620/50000, Loss: 0.0000004202267405\n",
      "Epoch: 14630/50000, Loss: 0.0000004114112926\n",
      "Epoch: 14640/50000, Loss: 0.0000004089284289\n",
      "Epoch: 14650/50000, Loss: 0.0000004070385842\n",
      "Epoch: 14660/50000, Loss: 0.0000004047627158\n",
      "Epoch: 14670/50000, Loss: 0.0000004029483591\n",
      "Epoch: 14680/50000, Loss: 0.0000004011273518\n",
      "Epoch: 14690/50000, Loss: 0.0000003993900464\n",
      "Epoch: 14700/50000, Loss: 0.0000003977173151\n",
      "Epoch: 14710/50000, Loss: 0.0000003960665822\n",
      "Epoch: 14720/50000, Loss: 0.0000003944612104\n",
      "Epoch: 14730/50000, Loss: 0.0000003928831234\n",
      "Epoch: 14740/50000, Loss: 0.0000003913565649\n",
      "Epoch: 14750/50000, Loss: 0.0000003898297507\n",
      "Epoch: 14760/50000, Loss: 0.0000003883474733\n",
      "Epoch: 14770/50000, Loss: 0.0000003868829594\n",
      "Epoch: 14780/50000, Loss: 0.0000003854493968\n",
      "Epoch: 14790/50000, Loss: 0.0000003844809271\n",
      "Epoch: 14800/50000, Loss: 0.0000004162471612\n",
      "Epoch: 14810/50000, Loss: 0.0000054809465837\n",
      "Epoch: 14820/50000, Loss: 0.0000031938802749\n",
      "Epoch: 14830/50000, Loss: 0.0000080943718785\n",
      "Epoch: 14840/50000, Loss: 0.0000032089615161\n",
      "Epoch: 14850/50000, Loss: 0.0000013635318510\n",
      "Epoch: 14860/50000, Loss: 0.0000008118953474\n",
      "Epoch: 14870/50000, Loss: 0.0000006024187655\n",
      "Epoch: 14880/50000, Loss: 0.0000004815890975\n",
      "Epoch: 14890/50000, Loss: 0.0000004139673422\n",
      "Epoch: 14900/50000, Loss: 0.0000003958495540\n",
      "Epoch: 14910/50000, Loss: 0.0000003966933946\n",
      "Epoch: 14920/50000, Loss: 0.0000003923695715\n",
      "Epoch: 14930/50000, Loss: 0.0000003899180570\n",
      "Epoch: 14940/50000, Loss: 0.0000003879426060\n",
      "Epoch: 14950/50000, Loss: 0.0000003861358095\n",
      "Epoch: 14960/50000, Loss: 0.0000003843666434\n",
      "Epoch: 14970/50000, Loss: 0.0000003826792181\n",
      "Epoch: 14980/50000, Loss: 0.0000003810495457\n",
      "Epoch: 14990/50000, Loss: 0.0000003794645806\n",
      "Epoch: 15000/50000, Loss: 0.0000003779171891\n",
      "Epoch: 15010/50000, Loss: 0.0000003763838379\n",
      "Epoch: 15020/50000, Loss: 0.0000003748940003\n",
      "Epoch: 15030/50000, Loss: 0.0000003734192546\n",
      "Epoch: 15040/50000, Loss: 0.0000003719868857\n",
      "Epoch: 15050/50000, Loss: 0.0000003705693530\n",
      "Epoch: 15060/50000, Loss: 0.0000003696271165\n",
      "Epoch: 15070/50000, Loss: 0.0000004111361704\n",
      "Epoch: 15080/50000, Loss: 0.0000082684946392\n",
      "Epoch: 15090/50000, Loss: 0.0000030717396839\n",
      "Epoch: 15100/50000, Loss: 0.0000005357312034\n",
      "Epoch: 15110/50000, Loss: 0.0000004859484761\n",
      "Epoch: 15120/50000, Loss: 0.0000005618056207\n",
      "Epoch: 15130/50000, Loss: 0.0000004845066996\n",
      "Epoch: 15140/50000, Loss: 0.0000004110758312\n",
      "Epoch: 15150/50000, Loss: 0.0000003885326691\n",
      "Epoch: 15160/50000, Loss: 0.0000003900366323\n",
      "Epoch: 15170/50000, Loss: 0.0000003908190251\n",
      "Epoch: 15180/50000, Loss: 0.0000003842589251\n",
      "Epoch: 15190/50000, Loss: 0.0000003789471918\n",
      "Epoch: 15200/50000, Loss: 0.0000003772857440\n",
      "Epoch: 15210/50000, Loss: 0.0000003751017061\n",
      "Epoch: 15220/50000, Loss: 0.0000003733010203\n",
      "Epoch: 15230/50000, Loss: 0.0000003715215939\n",
      "Epoch: 15240/50000, Loss: 0.0000003698478110\n",
      "Epoch: 15250/50000, Loss: 0.0000003681844305\n",
      "Epoch: 15260/50000, Loss: 0.0000003665937243\n",
      "Epoch: 15270/50000, Loss: 0.0000003650451390\n",
      "Epoch: 15280/50000, Loss: 0.0000003635120152\n",
      "Epoch: 15290/50000, Loss: 0.0000003620180564\n",
      "Epoch: 15300/50000, Loss: 0.0000003605540257\n",
      "Epoch: 15310/50000, Loss: 0.0000003591274549\n",
      "Epoch: 15320/50000, Loss: 0.0000003577138159\n",
      "Epoch: 15330/50000, Loss: 0.0000003563237669\n",
      "Epoch: 15340/50000, Loss: 0.0000003549608323\n",
      "Epoch: 15350/50000, Loss: 0.0000003543031255\n",
      "Epoch: 15360/50000, Loss: 0.0000004875704462\n",
      "Epoch: 15370/50000, Loss: 0.0000403908270528\n",
      "Epoch: 15380/50000, Loss: 0.0000222199942073\n",
      "Epoch: 15390/50000, Loss: 0.0000024128835321\n",
      "Epoch: 15400/50000, Loss: 0.0000010744713563\n",
      "Epoch: 15410/50000, Loss: 0.0000016894466626\n",
      "Epoch: 15420/50000, Loss: 0.0000008604118875\n",
      "Epoch: 15430/50000, Loss: 0.0000004677163759\n",
      "Epoch: 15440/50000, Loss: 0.0000003887538185\n",
      "Epoch: 15450/50000, Loss: 0.0000003772540538\n",
      "Epoch: 15460/50000, Loss: 0.0000003740120746\n",
      "Epoch: 15470/50000, Loss: 0.0000003716858714\n",
      "Epoch: 15480/50000, Loss: 0.0000003695703015\n",
      "Epoch: 15490/50000, Loss: 0.0000003673844162\n",
      "Epoch: 15500/50000, Loss: 0.0000003651686598\n",
      "Epoch: 15510/50000, Loss: 0.0000003631456309\n",
      "Epoch: 15520/50000, Loss: 0.0000003613347985\n",
      "Epoch: 15530/50000, Loss: 0.0000003595475562\n",
      "Epoch: 15540/50000, Loss: 0.0000003578448400\n",
      "Epoch: 15550/50000, Loss: 0.0000003561830511\n",
      "Epoch: 15560/50000, Loss: 0.0000003545609673\n",
      "Epoch: 15570/50000, Loss: 0.0000003529814308\n",
      "Epoch: 15580/50000, Loss: 0.0000003514445268\n",
      "Epoch: 15590/50000, Loss: 0.0000003499381478\n",
      "Epoch: 15600/50000, Loss: 0.0000003484649937\n",
      "Epoch: 15610/50000, Loss: 0.0000003470123602\n",
      "Epoch: 15620/50000, Loss: 0.0000003455990054\n",
      "Epoch: 15630/50000, Loss: 0.0000003441924150\n",
      "Epoch: 15640/50000, Loss: 0.0000003428190212\n",
      "Epoch: 15650/50000, Loss: 0.0000003414664889\n",
      "Epoch: 15660/50000, Loss: 0.0000003401580386\n",
      "Epoch: 15670/50000, Loss: 0.0000003403926314\n",
      "Epoch: 15680/50000, Loss: 0.0000005378119567\n",
      "Epoch: 15690/50000, Loss: 0.0000392954025301\n",
      "Epoch: 15700/50000, Loss: 0.0000229090546782\n",
      "Epoch: 15710/50000, Loss: 0.0000075607995313\n",
      "Epoch: 15720/50000, Loss: 0.0000017537156509\n",
      "Epoch: 15730/50000, Loss: 0.0000005316970828\n",
      "Epoch: 15740/50000, Loss: 0.0000003862898552\n",
      "Epoch: 15750/50000, Loss: 0.0000003705270615\n",
      "Epoch: 15760/50000, Loss: 0.0000003686885464\n",
      "Epoch: 15770/50000, Loss: 0.0000003669963178\n",
      "Epoch: 15780/50000, Loss: 0.0000003615654407\n",
      "Epoch: 15790/50000, Loss: 0.0000003543974287\n",
      "Epoch: 15800/50000, Loss: 0.0000003503470509\n",
      "Epoch: 15810/50000, Loss: 0.0000003487211302\n",
      "Epoch: 15820/50000, Loss: 0.0000003466846294\n",
      "Epoch: 15830/50000, Loss: 0.0000003449286794\n",
      "Epoch: 15840/50000, Loss: 0.0000003432099618\n",
      "Epoch: 15850/50000, Loss: 0.0000003415980814\n",
      "Epoch: 15860/50000, Loss: 0.0000003399968023\n",
      "Epoch: 15870/50000, Loss: 0.0000003384722902\n",
      "Epoch: 15880/50000, Loss: 0.0000003369646606\n",
      "Epoch: 15890/50000, Loss: 0.0000003354863054\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 15900/50000, Loss: 0.0000003340575461\n",
      "Epoch: 15910/50000, Loss: 0.0000003326296678\n",
      "Epoch: 15920/50000, Loss: 0.0000003312551655\n",
      "Epoch: 15930/50000, Loss: 0.0000003298838180\n",
      "Epoch: 15940/50000, Loss: 0.0000003285570642\n",
      "Epoch: 15950/50000, Loss: 0.0000003272697029\n",
      "Epoch: 15960/50000, Loss: 0.0000003276936695\n",
      "Epoch: 15970/50000, Loss: 0.0000005783209645\n",
      "Epoch: 15980/50000, Loss: 0.0000505336320202\n",
      "Epoch: 15990/50000, Loss: 0.0000109261982288\n",
      "Epoch: 16000/50000, Loss: 0.0000024310243134\n",
      "Epoch: 16010/50000, Loss: 0.0000003857417141\n",
      "Epoch: 16020/50000, Loss: 0.0000005427323799\n",
      "Epoch: 16030/50000, Loss: 0.0000005200726605\n",
      "Epoch: 16040/50000, Loss: 0.0000004254613089\n",
      "Epoch: 16050/50000, Loss: 0.0000003706118719\n",
      "Epoch: 16060/50000, Loss: 0.0000003489531650\n",
      "Epoch: 16070/50000, Loss: 0.0000003429451283\n",
      "Epoch: 16080/50000, Loss: 0.0000003416799359\n",
      "Epoch: 16090/50000, Loss: 0.0000003396982322\n",
      "Epoch: 16100/50000, Loss: 0.0000003369885064\n",
      "Epoch: 16110/50000, Loss: 0.0000003351022428\n",
      "Epoch: 16120/50000, Loss: 0.0000003333421148\n",
      "Epoch: 16130/50000, Loss: 0.0000003316353627\n",
      "Epoch: 16140/50000, Loss: 0.0000003300060598\n",
      "Epoch: 16150/50000, Loss: 0.0000003284240506\n",
      "Epoch: 16160/50000, Loss: 0.0000003268831108\n",
      "Epoch: 16170/50000, Loss: 0.0000003253907153\n",
      "Epoch: 16180/50000, Loss: 0.0000003239322837\n",
      "Epoch: 16190/50000, Loss: 0.0000003224951399\n",
      "Epoch: 16200/50000, Loss: 0.0000003210912496\n",
      "Epoch: 16210/50000, Loss: 0.0000003197234832\n",
      "Epoch: 16220/50000, Loss: 0.0000003183806427\n",
      "Epoch: 16230/50000, Loss: 0.0000003170454761\n",
      "Epoch: 16240/50000, Loss: 0.0000003157424828\n",
      "Epoch: 16250/50000, Loss: 0.0000003144712082\n",
      "Epoch: 16260/50000, Loss: 0.0000003138587488\n",
      "Epoch: 16270/50000, Loss: 0.0000004415350645\n",
      "Epoch: 16280/50000, Loss: 0.0000388443804695\n",
      "Epoch: 16290/50000, Loss: 0.0000227424643526\n",
      "Epoch: 16300/50000, Loss: 0.0000022664087282\n",
      "Epoch: 16310/50000, Loss: 0.0000011899921901\n",
      "Epoch: 16320/50000, Loss: 0.0000017173039168\n",
      "Epoch: 16330/50000, Loss: 0.0000007668166404\n",
      "Epoch: 16340/50000, Loss: 0.0000003951091117\n",
      "Epoch: 16350/50000, Loss: 0.0000003419009715\n",
      "Epoch: 16360/50000, Loss: 0.0000003375195377\n",
      "Epoch: 16370/50000, Loss: 0.0000003349018698\n",
      "Epoch: 16380/50000, Loss: 0.0000003323733040\n",
      "Epoch: 16390/50000, Loss: 0.0000003302997129\n",
      "Epoch: 16400/50000, Loss: 0.0000003283850276\n",
      "Epoch: 16410/50000, Loss: 0.0000003264207749\n",
      "Epoch: 16420/50000, Loss: 0.0000003244779805\n",
      "Epoch: 16430/50000, Loss: 0.0000003227095249\n",
      "Epoch: 16440/50000, Loss: 0.0000003210163300\n",
      "Epoch: 16450/50000, Loss: 0.0000003193932798\n",
      "Epoch: 16460/50000, Loss: 0.0000003178088832\n",
      "Epoch: 16470/50000, Loss: 0.0000003162699045\n",
      "Epoch: 16480/50000, Loss: 0.0000003147557095\n",
      "Epoch: 16490/50000, Loss: 0.0000003132934125\n",
      "Epoch: 16500/50000, Loss: 0.0000003118593668\n",
      "Epoch: 16510/50000, Loss: 0.0000003104555333\n",
      "Epoch: 16520/50000, Loss: 0.0000003090860332\n",
      "Epoch: 16530/50000, Loss: 0.0000003077317956\n",
      "Epoch: 16540/50000, Loss: 0.0000003064130283\n",
      "Epoch: 16550/50000, Loss: 0.0000003050959663\n",
      "Epoch: 16560/50000, Loss: 0.0000003038132945\n",
      "Epoch: 16570/50000, Loss: 0.0000003025534738\n",
      "Epoch: 16580/50000, Loss: 0.0000003016764651\n",
      "Epoch: 16590/50000, Loss: 0.0000003401380013\n",
      "Epoch: 16600/50000, Loss: 0.0000089303985078\n",
      "Epoch: 16610/50000, Loss: 0.0000079462097347\n",
      "Epoch: 16620/50000, Loss: 0.0000017218802668\n",
      "Epoch: 16630/50000, Loss: 0.0000024565836156\n",
      "Epoch: 16640/50000, Loss: 0.0000017862660115\n",
      "Epoch: 16650/50000, Loss: 0.0000009385081512\n",
      "Epoch: 16660/50000, Loss: 0.0000005431508043\n",
      "Epoch: 16670/50000, Loss: 0.0000004018014863\n",
      "Epoch: 16680/50000, Loss: 0.0000003492958456\n",
      "Epoch: 16690/50000, Loss: 0.0000003272202491\n",
      "Epoch: 16700/50000, Loss: 0.0000003178817565\n",
      "Epoch: 16710/50000, Loss: 0.0000003149363579\n",
      "Epoch: 16720/50000, Loss: 0.0000003134273356\n",
      "Epoch: 16730/50000, Loss: 0.0000003113220828\n",
      "Epoch: 16740/50000, Loss: 0.0000003095551335\n",
      "Epoch: 16750/50000, Loss: 0.0000003079020132\n",
      "Epoch: 16760/50000, Loss: 0.0000003063208283\n",
      "Epoch: 16770/50000, Loss: 0.0000003047685482\n",
      "Epoch: 16780/50000, Loss: 0.0000003032673135\n",
      "Epoch: 16790/50000, Loss: 0.0000003018129462\n",
      "Epoch: 16800/50000, Loss: 0.0000003003897291\n",
      "Epoch: 16810/50000, Loss: 0.0000002990068424\n",
      "Epoch: 16820/50000, Loss: 0.0000002976302085\n",
      "Epoch: 16830/50000, Loss: 0.0000002962941892\n",
      "Epoch: 16840/50000, Loss: 0.0000002949840905\n",
      "Epoch: 16850/50000, Loss: 0.0000002936953365\n",
      "Epoch: 16860/50000, Loss: 0.0000002924103626\n",
      "Epoch: 16870/50000, Loss: 0.0000002911973809\n",
      "Epoch: 16880/50000, Loss: 0.0000002916688118\n",
      "Epoch: 16890/50000, Loss: 0.0000005504128922\n",
      "Epoch: 16900/50000, Loss: 0.0000517679363838\n",
      "Epoch: 16910/50000, Loss: 0.0000082465248852\n",
      "Epoch: 16920/50000, Loss: 0.0000014062395621\n",
      "Epoch: 16930/50000, Loss: 0.0000004489282617\n",
      "Epoch: 16940/50000, Loss: 0.0000007547970426\n",
      "Epoch: 16950/50000, Loss: 0.0000006070687277\n",
      "Epoch: 16960/50000, Loss: 0.0000004389802655\n",
      "Epoch: 16970/50000, Loss: 0.0000003563335440\n",
      "Epoch: 16980/50000, Loss: 0.0000003223671570\n",
      "Epoch: 16990/50000, Loss: 0.0000003096577643\n",
      "Epoch: 17000/50000, Loss: 0.0000003057502909\n",
      "Epoch: 17010/50000, Loss: 0.0000003042950709\n",
      "Epoch: 17020/50000, Loss: 0.0000003022917952\n",
      "Epoch: 17030/50000, Loss: 0.0000003002191136\n",
      "Epoch: 17040/50000, Loss: 0.0000002985824494\n",
      "Epoch: 17050/50000, Loss: 0.0000002969263164\n",
      "Epoch: 17060/50000, Loss: 0.0000002953613034\n",
      "Epoch: 17070/50000, Loss: 0.0000002938478190\n",
      "Epoch: 17080/50000, Loss: 0.0000002923609941\n",
      "Epoch: 17090/50000, Loss: 0.0000002909111174\n",
      "Epoch: 17100/50000, Loss: 0.0000002895021680\n",
      "Epoch: 17110/50000, Loss: 0.0000002881270120\n",
      "Epoch: 17120/50000, Loss: 0.0000002867801356\n",
      "Epoch: 17130/50000, Loss: 0.0000002854444858\n",
      "Epoch: 17140/50000, Loss: 0.0000002841387641\n",
      "Epoch: 17150/50000, Loss: 0.0000002828623167\n",
      "Epoch: 17160/50000, Loss: 0.0000002816027802\n",
      "Epoch: 17170/50000, Loss: 0.0000002803752750\n",
      "Epoch: 17180/50000, Loss: 0.0000002809549642\n",
      "Epoch: 17190/50000, Loss: 0.0000005677517265\n",
      "Epoch: 17200/50000, Loss: 0.0000576960555918\n",
      "Epoch: 17210/50000, Loss: 0.0000040604572860\n",
      "Epoch: 17220/50000, Loss: 0.0000004606220614\n",
      "Epoch: 17230/50000, Loss: 0.0000010228571909\n",
      "Epoch: 17240/50000, Loss: 0.0000011448996702\n",
      "Epoch: 17250/50000, Loss: 0.0000007094337775\n",
      "Epoch: 17260/50000, Loss: 0.0000004537102427\n",
      "Epoch: 17270/50000, Loss: 0.0000003553310819\n",
      "Epoch: 17280/50000, Loss: 0.0000003188039557\n",
      "Epoch: 17290/50000, Loss: 0.0000003033325697\n",
      "Epoch: 17300/50000, Loss: 0.0000002962882775\n",
      "Epoch: 17310/50000, Loss: 0.0000002933980738\n",
      "Epoch: 17320/50000, Loss: 0.0000002917666393\n",
      "Epoch: 17330/50000, Loss: 0.0000002898897833\n",
      "Epoch: 17340/50000, Loss: 0.0000002881355954\n",
      "Epoch: 17350/50000, Loss: 0.0000002865144495\n",
      "Epoch: 17360/50000, Loss: 0.0000002849339467\n",
      "Epoch: 17370/50000, Loss: 0.0000002834165969\n",
      "Epoch: 17380/50000, Loss: 0.0000002819227234\n",
      "Epoch: 17390/50000, Loss: 0.0000002804826522\n",
      "Epoch: 17400/50000, Loss: 0.0000002790613109\n",
      "Epoch: 17410/50000, Loss: 0.0000002776763210\n",
      "Epoch: 17420/50000, Loss: 0.0000002763181328\n",
      "Epoch: 17430/50000, Loss: 0.0000002749898727\n",
      "Epoch: 17440/50000, Loss: 0.0000002736790350\n",
      "Epoch: 17450/50000, Loss: 0.0000002723870409\n",
      "Epoch: 17460/50000, Loss: 0.0000002711209106\n",
      "Epoch: 17470/50000, Loss: 0.0000002699378285\n",
      "Epoch: 17480/50000, Loss: 0.0000002720078669\n",
      "Epoch: 17490/50000, Loss: 0.0000006850855812\n",
      "Epoch: 17500/50000, Loss: 0.0000584812842135\n",
      "Epoch: 17510/50000, Loss: 0.0000030496601084\n",
      "Epoch: 17520/50000, Loss: 0.0000012354951195\n",
      "Epoch: 17530/50000, Loss: 0.0000003431314326\n",
      "Epoch: 17540/50000, Loss: 0.0000003118082930\n",
      "Epoch: 17550/50000, Loss: 0.0000003010002274\n",
      "Epoch: 17560/50000, Loss: 0.0000002915348318\n",
      "Epoch: 17570/50000, Loss: 0.0000002937210013\n",
      "Epoch: 17580/50000, Loss: 0.0000002955889897\n",
      "Epoch: 17590/50000, Loss: 0.0000002896924229\n",
      "Epoch: 17600/50000, Loss: 0.0000002824497756\n",
      "Epoch: 17610/50000, Loss: 0.0000002800337313\n",
      "Epoch: 17620/50000, Loss: 0.0000002783812079\n",
      "Epoch: 17630/50000, Loss: 0.0000002764694784\n",
      "Epoch: 17640/50000, Loss: 0.0000002748938073\n",
      "Epoch: 17650/50000, Loss: 0.0000002733444830\n",
      "Epoch: 17660/50000, Loss: 0.0000002718379903\n",
      "Epoch: 17670/50000, Loss: 0.0000002703770292\n",
      "Epoch: 17680/50000, Loss: 0.0000002689761516\n",
      "Epoch: 17690/50000, Loss: 0.0000002676005124\n",
      "Epoch: 17700/50000, Loss: 0.0000002662636689\n",
      "Epoch: 17710/50000, Loss: 0.0000002649527175\n",
      "Epoch: 17720/50000, Loss: 0.0000002636777765\n",
      "Epoch: 17730/50000, Loss: 0.0000002624243223\n",
      "Epoch: 17740/50000, Loss: 0.0000002611919854\n",
      "Epoch: 17750/50000, Loss: 0.0000002600123139\n",
      "Epoch: 17760/50000, Loss: 0.0000002595918716\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 17770/50000, Loss: 0.0000003567349154\n",
      "Epoch: 17780/50000, Loss: 0.0000229393262998\n",
      "Epoch: 17790/50000, Loss: 0.0000341138220392\n",
      "Epoch: 17800/50000, Loss: 0.0000114829681479\n",
      "Epoch: 17810/50000, Loss: 0.0000031989470699\n",
      "Epoch: 17820/50000, Loss: 0.0000006590481689\n",
      "Epoch: 17830/50000, Loss: 0.0000003034204497\n",
      "Epoch: 17840/50000, Loss: 0.0000002857218533\n",
      "Epoch: 17850/50000, Loss: 0.0000002820013947\n",
      "Epoch: 17860/50000, Loss: 0.0000002792281748\n",
      "Epoch: 17870/50000, Loss: 0.0000002781506794\n",
      "Epoch: 17880/50000, Loss: 0.0000002766610123\n",
      "Epoch: 17890/50000, Loss: 0.0000002738351839\n",
      "Epoch: 17900/50000, Loss: 0.0000002710912383\n",
      "Epoch: 17910/50000, Loss: 0.0000002693766419\n",
      "Epoch: 17920/50000, Loss: 0.0000002677722364\n",
      "Epoch: 17930/50000, Loss: 0.0000002661885503\n",
      "Epoch: 17940/50000, Loss: 0.0000002647151973\n",
      "Epoch: 17950/50000, Loss: 0.0000002632838232\n",
      "Epoch: 17960/50000, Loss: 0.0000002618868677\n",
      "Epoch: 17970/50000, Loss: 0.0000002605435725\n",
      "Epoch: 17980/50000, Loss: 0.0000002592200872\n",
      "Epoch: 17990/50000, Loss: 0.0000002579530189\n",
      "Epoch: 18000/50000, Loss: 0.0000002566909529\n",
      "Epoch: 18010/50000, Loss: 0.0000002554691605\n",
      "Epoch: 18020/50000, Loss: 0.0000002542774951\n",
      "Epoch: 18030/50000, Loss: 0.0000002530988752\n",
      "Epoch: 18040/50000, Loss: 0.0000002519470002\n",
      "Epoch: 18050/50000, Loss: 0.0000002508199941\n",
      "Epoch: 18060/50000, Loss: 0.0000002504537235\n",
      "Epoch: 18070/50000, Loss: 0.0000003470843239\n",
      "Epoch: 18080/50000, Loss: 0.0000226862339332\n",
      "Epoch: 18090/50000, Loss: 0.0000337812707585\n",
      "Epoch: 18100/50000, Loss: 0.0000113787218652\n",
      "Epoch: 18110/50000, Loss: 0.0000032098560041\n",
      "Epoch: 18120/50000, Loss: 0.0000006651047215\n",
      "Epoch: 18130/50000, Loss: 0.0000002965136900\n",
      "Epoch: 18140/50000, Loss: 0.0000002761092617\n",
      "Epoch: 18150/50000, Loss: 0.0000002725106469\n",
      "Epoch: 18160/50000, Loss: 0.0000002699888455\n",
      "Epoch: 18170/50000, Loss: 0.0000002690038059\n",
      "Epoch: 18180/50000, Loss: 0.0000002675021449\n",
      "Epoch: 18190/50000, Loss: 0.0000002647224449\n",
      "Epoch: 18200/50000, Loss: 0.0000002620556074\n",
      "Epoch: 18210/50000, Loss: 0.0000002604018334\n",
      "Epoch: 18220/50000, Loss: 0.0000002588467396\n",
      "Epoch: 18230/50000, Loss: 0.0000002573193854\n",
      "Epoch: 18240/50000, Loss: 0.0000002558969925\n",
      "Epoch: 18250/50000, Loss: 0.0000002545145037\n",
      "Epoch: 18260/50000, Loss: 0.0000002531738232\n",
      "Epoch: 18270/50000, Loss: 0.0000002518866609\n",
      "Epoch: 18280/50000, Loss: 0.0000002506018859\n",
      "Epoch: 18290/50000, Loss: 0.0000002493747502\n",
      "Epoch: 18300/50000, Loss: 0.0000002481604042\n",
      "Epoch: 18310/50000, Loss: 0.0000002469697336\n",
      "Epoch: 18320/50000, Loss: 0.0000002458164090\n",
      "Epoch: 18330/50000, Loss: 0.0000002446798248\n",
      "Epoch: 18340/50000, Loss: 0.0000002435679107\n",
      "Epoch: 18350/50000, Loss: 0.0000002425209402\n",
      "Epoch: 18360/50000, Loss: 0.0000002444130587\n",
      "Epoch: 18370/50000, Loss: 0.0000006201755127\n",
      "Epoch: 18380/50000, Loss: 0.0000551462071599\n",
      "Epoch: 18390/50000, Loss: 0.0000038496536945\n",
      "Epoch: 18400/50000, Loss: 0.0000013382759789\n",
      "Epoch: 18410/50000, Loss: 0.0000003092236227\n",
      "Epoch: 18420/50000, Loss: 0.0000003013334435\n",
      "Epoch: 18430/50000, Loss: 0.0000002888760378\n",
      "Epoch: 18440/50000, Loss: 0.0000002669860919\n",
      "Epoch: 18450/50000, Loss: 0.0000002617954920\n",
      "Epoch: 18460/50000, Loss: 0.0000002639443721\n",
      "Epoch: 18470/50000, Loss: 0.0000002621723638\n",
      "Epoch: 18480/50000, Loss: 0.0000002565174668\n",
      "Epoch: 18490/50000, Loss: 0.0000002532429733\n",
      "Epoch: 18500/50000, Loss: 0.0000002519402358\n",
      "Epoch: 18510/50000, Loss: 0.0000002501664085\n",
      "Epoch: 18520/50000, Loss: 0.0000002487654740\n",
      "Epoch: 18530/50000, Loss: 0.0000002473418590\n",
      "Epoch: 18540/50000, Loss: 0.0000002459931068\n",
      "Epoch: 18550/50000, Loss: 0.0000002447060865\n",
      "Epoch: 18560/50000, Loss: 0.0000002434401836\n",
      "Epoch: 18570/50000, Loss: 0.0000002422061982\n",
      "Epoch: 18580/50000, Loss: 0.0000002410161812\n",
      "Epoch: 18590/50000, Loss: 0.0000002398351739\n",
      "Epoch: 18600/50000, Loss: 0.0000002386925644\n",
      "Epoch: 18610/50000, Loss: 0.0000002375708164\n",
      "Epoch: 18620/50000, Loss: 0.0000002364739231\n",
      "Epoch: 18630/50000, Loss: 0.0000002354061337\n",
      "Epoch: 18640/50000, Loss: 0.0000002348308925\n",
      "Epoch: 18650/50000, Loss: 0.0000002822603165\n",
      "Epoch: 18660/50000, Loss: 0.0000097189713415\n",
      "Epoch: 18670/50000, Loss: 0.0000099094968391\n",
      "Epoch: 18680/50000, Loss: 0.0000015511299125\n",
      "Epoch: 18690/50000, Loss: 0.0000017737695543\n",
      "Epoch: 18700/50000, Loss: 0.0000013144406239\n",
      "Epoch: 18710/50000, Loss: 0.0000007376789881\n",
      "Epoch: 18720/50000, Loss: 0.0000004354586451\n",
      "Epoch: 18730/50000, Loss: 0.0000003135054953\n",
      "Epoch: 18740/50000, Loss: 0.0000002667937906\n",
      "Epoch: 18750/50000, Loss: 0.0000002515434971\n",
      "Epoch: 18760/50000, Loss: 0.0000002488330040\n",
      "Epoch: 18770/50000, Loss: 0.0000002478157057\n",
      "Epoch: 18780/50000, Loss: 0.0000002453766683\n",
      "Epoch: 18790/50000, Loss: 0.0000002436576665\n",
      "Epoch: 18800/50000, Loss: 0.0000002422156911\n",
      "Epoch: 18810/50000, Loss: 0.0000002407841180\n",
      "Epoch: 18820/50000, Loss: 0.0000002394259866\n",
      "Epoch: 18830/50000, Loss: 0.0000002381300845\n",
      "Epoch: 18840/50000, Loss: 0.0000002368588241\n",
      "Epoch: 18850/50000, Loss: 0.0000002356328679\n",
      "Epoch: 18860/50000, Loss: 0.0000002344462473\n",
      "Epoch: 18870/50000, Loss: 0.0000002332698585\n",
      "Epoch: 18880/50000, Loss: 0.0000002321261974\n",
      "Epoch: 18890/50000, Loss: 0.0000002310154485\n",
      "Epoch: 18900/50000, Loss: 0.0000002299303361\n",
      "Epoch: 18910/50000, Loss: 0.0000002288551286\n",
      "Epoch: 18920/50000, Loss: 0.0000002278216868\n",
      "Epoch: 18930/50000, Loss: 0.0000002275019568\n",
      "Epoch: 18940/50000, Loss: 0.0000003042906656\n",
      "Epoch: 18950/50000, Loss: 0.0000160194831551\n",
      "Epoch: 18960/50000, Loss: 0.0000267086634267\n",
      "Epoch: 18970/50000, Loss: 0.0000080661538959\n",
      "Epoch: 18980/50000, Loss: 0.0000038963630686\n",
      "Epoch: 18990/50000, Loss: 0.0000015618139741\n",
      "Epoch: 19000/50000, Loss: 0.0000006486051802\n",
      "Epoch: 19010/50000, Loss: 0.0000003782057831\n",
      "Epoch: 19020/50000, Loss: 0.0000002970940329\n",
      "Epoch: 19030/50000, Loss: 0.0000002661388407\n",
      "Epoch: 19040/50000, Loss: 0.0000002500201219\n",
      "Epoch: 19050/50000, Loss: 0.0000002417069140\n",
      "Epoch: 19060/50000, Loss: 0.0000002389219560\n",
      "Epoch: 19070/50000, Loss: 0.0000002376204975\n",
      "Epoch: 19080/50000, Loss: 0.0000002358160316\n",
      "Epoch: 19090/50000, Loss: 0.0000002343488603\n",
      "Epoch: 19100/50000, Loss: 0.0000002329320807\n",
      "Epoch: 19110/50000, Loss: 0.0000002316147203\n",
      "Epoch: 19120/50000, Loss: 0.0000002303176672\n",
      "Epoch: 19130/50000, Loss: 0.0000002290686041\n",
      "Epoch: 19140/50000, Loss: 0.0000002278492701\n",
      "Epoch: 19150/50000, Loss: 0.0000002266808679\n",
      "Epoch: 19160/50000, Loss: 0.0000002255233937\n",
      "Epoch: 19170/50000, Loss: 0.0000002244142507\n",
      "Epoch: 19180/50000, Loss: 0.0000002233066851\n",
      "Epoch: 19190/50000, Loss: 0.0000002222414253\n",
      "Epoch: 19200/50000, Loss: 0.0000002211797181\n",
      "Epoch: 19210/50000, Loss: 0.0000002201738596\n",
      "Epoch: 19220/50000, Loss: 0.0000002200439440\n",
      "Epoch: 19230/50000, Loss: 0.0000003014228582\n",
      "Epoch: 19240/50000, Loss: 0.0000146764796227\n",
      "Epoch: 19250/50000, Loss: 0.0000205437409022\n",
      "Epoch: 19260/50000, Loss: 0.0000044332564357\n",
      "Epoch: 19270/50000, Loss: 0.0000024611397293\n",
      "Epoch: 19280/50000, Loss: 0.0000013097989040\n",
      "Epoch: 19290/50000, Loss: 0.0000006644995665\n",
      "Epoch: 19300/50000, Loss: 0.0000003919268750\n",
      "Epoch: 19310/50000, Loss: 0.0000002855372827\n",
      "Epoch: 19320/50000, Loss: 0.0000002449256442\n",
      "Epoch: 19330/50000, Loss: 0.0000002328918072\n",
      "Epoch: 19340/50000, Loss: 0.0000002315026393\n",
      "Epoch: 19350/50000, Loss: 0.0000002299228044\n",
      "Epoch: 19360/50000, Loss: 0.0000002273808377\n",
      "Epoch: 19370/50000, Loss: 0.0000002259309468\n",
      "Epoch: 19380/50000, Loss: 0.0000002244122186\n",
      "Epoch: 19390/50000, Loss: 0.0000002230676301\n",
      "Epoch: 19400/50000, Loss: 0.0000002217624626\n",
      "Epoch: 19410/50000, Loss: 0.0000002204980376\n",
      "Epoch: 19420/50000, Loss: 0.0000002192934119\n",
      "Epoch: 19430/50000, Loss: 0.0000002181313903\n",
      "Epoch: 19440/50000, Loss: 0.0000002169889086\n",
      "Epoch: 19450/50000, Loss: 0.0000002158775487\n",
      "Epoch: 19460/50000, Loss: 0.0000002148012044\n",
      "Epoch: 19470/50000, Loss: 0.0000002137432205\n",
      "Epoch: 19480/50000, Loss: 0.0000002127085281\n",
      "Epoch: 19490/50000, Loss: 0.0000002116989180\n",
      "Epoch: 19500/50000, Loss: 0.0000002109107129\n",
      "Epoch: 19510/50000, Loss: 0.0000002206700174\n",
      "Epoch: 19520/50000, Loss: 0.0000018043459704\n",
      "Epoch: 19530/50000, Loss: 0.0000458533177152\n",
      "Epoch: 19540/50000, Loss: 0.0000154237986862\n",
      "Epoch: 19550/50000, Loss: 0.0000055247960518\n",
      "Epoch: 19560/50000, Loss: 0.0000015095919252\n",
      "Epoch: 19570/50000, Loss: 0.0000004124469228\n",
      "Epoch: 19580/50000, Loss: 0.0000002522032787\n",
      "Epoch: 19590/50000, Loss: 0.0000002349023873\n",
      "Epoch: 19600/50000, Loss: 0.0000002306655063\n",
      "Epoch: 19610/50000, Loss: 0.0000002287522847\n",
      "Epoch: 19620/50000, Loss: 0.0000002265087886\n",
      "Epoch: 19630/50000, Loss: 0.0000002230148084\n",
      "Epoch: 19640/50000, Loss: 0.0000002198983395\n",
      "Epoch: 19650/50000, Loss: 0.0000002181593999\n",
      "Epoch: 19660/50000, Loss: 0.0000002166363373\n",
      "Epoch: 19670/50000, Loss: 0.0000002151438139\n",
      "Epoch: 19680/50000, Loss: 0.0000002137989270\n",
      "Epoch: 19690/50000, Loss: 0.0000002125162837\n",
      "Epoch: 19700/50000, Loss: 0.0000002112988824\n",
      "Epoch: 19710/50000, Loss: 0.0000002101205894\n",
      "Epoch: 19720/50000, Loss: 0.0000002089945781\n",
      "Epoch: 19730/50000, Loss: 0.0000002079031702\n",
      "Epoch: 19740/50000, Loss: 0.0000002068547644\n",
      "Epoch: 19750/50000, Loss: 0.0000002058322082\n",
      "Epoch: 19760/50000, Loss: 0.0000002048302576\n",
      "Epoch: 19770/50000, Loss: 0.0000002038541851\n",
      "Epoch: 19780/50000, Loss: 0.0000002029078843\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 19790/50000, Loss: 0.0000002019757233\n",
      "Epoch: 19800/50000, Loss: 0.0000002012406668\n",
      "Epoch: 19810/50000, Loss: 0.0000002216835355\n",
      "Epoch: 19820/50000, Loss: 0.0000054472866395\n",
      "Epoch: 19830/50000, Loss: 0.0000013085327737\n",
      "Epoch: 19840/50000, Loss: 0.0000013632291029\n",
      "Epoch: 19850/50000, Loss: 0.0000039594588088\n",
      "Epoch: 19860/50000, Loss: 0.0000014675208604\n",
      "Epoch: 19870/50000, Loss: 0.0000002708524960\n",
      "Epoch: 19880/50000, Loss: 0.0000002869582545\n",
      "Epoch: 19890/50000, Loss: 0.0000002844385563\n",
      "Epoch: 19900/50000, Loss: 0.0000002505293821\n",
      "Epoch: 19910/50000, Loss: 0.0000002309157736\n",
      "Epoch: 19920/50000, Loss: 0.0000002218054789\n",
      "Epoch: 19930/50000, Loss: 0.0000002170309870\n",
      "Epoch: 19940/50000, Loss: 0.0000002140490807\n",
      "Epoch: 19950/50000, Loss: 0.0000002119839309\n",
      "Epoch: 19960/50000, Loss: 0.0000002103261352\n",
      "Epoch: 19970/50000, Loss: 0.0000002087757167\n",
      "Epoch: 19980/50000, Loss: 0.0000002073371661\n",
      "Epoch: 19990/50000, Loss: 0.0000002060026247\n",
      "Epoch: 20000/50000, Loss: 0.0000002047388250\n",
      "Epoch: 20010/50000, Loss: 0.0000002035596651\n",
      "Epoch: 20020/50000, Loss: 0.0000002027905168\n",
      "Epoch: 20030/50000, Loss: 0.0000002014847240\n",
      "Epoch: 20040/50000, Loss: 0.0000002003480688\n",
      "Epoch: 20050/50000, Loss: 0.0000001992653154\n",
      "Epoch: 20060/50000, Loss: 0.0000001982983378\n",
      "Epoch: 20070/50000, Loss: 0.0000001973348134\n",
      "Epoch: 20080/50000, Loss: 0.0000001964146179\n",
      "Epoch: 20090/50000, Loss: 0.0000001955021105\n",
      "Epoch: 20100/50000, Loss: 0.0000001946286829\n",
      "Epoch: 20110/50000, Loss: 0.0000001937666241\n",
      "Epoch: 20120/50000, Loss: 0.0000001930912248\n",
      "Epoch: 20130/50000, Loss: 0.0000002107234707\n",
      "Epoch: 20140/50000, Loss: 0.0000042666370064\n",
      "Epoch: 20150/50000, Loss: 0.0000007915797937\n",
      "Epoch: 20160/50000, Loss: 0.0000005542878512\n",
      "Epoch: 20170/50000, Loss: 0.0000014537878315\n",
      "Epoch: 20180/50000, Loss: 0.0000017077494476\n",
      "Epoch: 20190/50000, Loss: 0.0000006848734984\n",
      "Epoch: 20200/50000, Loss: 0.0000002909828822\n",
      "Epoch: 20210/50000, Loss: 0.0000002265238237\n",
      "Epoch: 20220/50000, Loss: 0.0000002168591919\n",
      "Epoch: 20230/50000, Loss: 0.0000002128232381\n",
      "Epoch: 20240/50000, Loss: 0.0000002101232468\n",
      "Epoch: 20250/50000, Loss: 0.0000002078209747\n",
      "Epoch: 20260/50000, Loss: 0.0000002054273835\n",
      "Epoch: 20270/50000, Loss: 0.0000002032551691\n",
      "Epoch: 20280/50000, Loss: 0.0000002016083727\n",
      "Epoch: 20290/50000, Loss: 0.0000002001717121\n",
      "Epoch: 20300/50000, Loss: 0.0000001988070579\n",
      "Epoch: 20310/50000, Loss: 0.0000001976719659\n",
      "Epoch: 20320/50000, Loss: 0.0000001965009204\n",
      "Epoch: 20330/50000, Loss: 0.0000001953278570\n",
      "Epoch: 20340/50000, Loss: 0.0000001942389645\n",
      "Epoch: 20350/50000, Loss: 0.0000001931940687\n",
      "Epoch: 20360/50000, Loss: 0.0000001922323065\n",
      "Epoch: 20370/50000, Loss: 0.0000001912827372\n",
      "Epoch: 20380/50000, Loss: 0.0000001903681408\n",
      "Epoch: 20390/50000, Loss: 0.0000001894915442\n",
      "Epoch: 20400/50000, Loss: 0.0000001886318728\n",
      "Epoch: 20410/50000, Loss: 0.0000001878007510\n",
      "Epoch: 20420/50000, Loss: 0.0000001870222519\n",
      "Epoch: 20430/50000, Loss: 0.0000001885067462\n",
      "Epoch: 20440/50000, Loss: 0.0000004774315130\n",
      "Epoch: 20450/50000, Loss: 0.0000453362772532\n",
      "Epoch: 20460/50000, Loss: 0.0000040949776121\n",
      "Epoch: 20470/50000, Loss: 0.0000006921499107\n",
      "Epoch: 20480/50000, Loss: 0.0000003713393539\n",
      "Epoch: 20490/50000, Loss: 0.0000005494627544\n",
      "Epoch: 20500/50000, Loss: 0.0000004210006921\n",
      "Epoch: 20510/50000, Loss: 0.0000002954828631\n",
      "Epoch: 20520/50000, Loss: 0.0000002340970440\n",
      "Epoch: 20530/50000, Loss: 0.0000002094713665\n",
      "Epoch: 20540/50000, Loss: 0.0000002018110479\n",
      "Epoch: 20550/50000, Loss: 0.0000002000861770\n",
      "Epoch: 20560/50000, Loss: 0.0000001979877879\n",
      "Epoch: 20570/50000, Loss: 0.0000001955983180\n",
      "Epoch: 20580/50000, Loss: 0.0000001941294414\n",
      "Epoch: 20590/50000, Loss: 0.0000001926768647\n",
      "Epoch: 20600/50000, Loss: 0.0000001914138892\n",
      "Epoch: 20610/50000, Loss: 0.0000001902236164\n",
      "Epoch: 20620/50000, Loss: 0.0000001891162782\n",
      "Epoch: 20630/50000, Loss: 0.0000001880606249\n",
      "Epoch: 20640/50000, Loss: 0.0000001870620565\n",
      "Epoch: 20650/50000, Loss: 0.0000001861200190\n",
      "Epoch: 20660/50000, Loss: 0.0000001851912970\n",
      "Epoch: 20670/50000, Loss: 0.0000001843102098\n",
      "Epoch: 20680/50000, Loss: 0.0000001834507657\n",
      "Epoch: 20690/50000, Loss: 0.0000001826181233\n",
      "Epoch: 20700/50000, Loss: 0.0000001818164890\n",
      "Epoch: 20710/50000, Loss: 0.0000001815798640\n",
      "Epoch: 20720/50000, Loss: 0.0000002273901885\n",
      "Epoch: 20730/50000, Loss: 0.0000080987938418\n",
      "Epoch: 20740/50000, Loss: 0.0000063524908001\n",
      "Epoch: 20750/50000, Loss: 0.0000007593782243\n",
      "Epoch: 20760/50000, Loss: 0.0000010542485143\n",
      "Epoch: 20770/50000, Loss: 0.0000008758595982\n",
      "Epoch: 20780/50000, Loss: 0.0000005282907978\n",
      "Epoch: 20790/50000, Loss: 0.0000003231220091\n",
      "Epoch: 20800/50000, Loss: 0.0000002344019094\n",
      "Epoch: 20810/50000, Loss: 0.0000002025924744\n",
      "Epoch: 20820/50000, Loss: 0.0000001959751472\n",
      "Epoch: 20830/50000, Loss: 0.0000001951414959\n",
      "Epoch: 20840/50000, Loss: 0.0000001917811261\n",
      "Epoch: 20850/50000, Loss: 0.0000001894181167\n",
      "Epoch: 20860/50000, Loss: 0.0000001879770792\n",
      "Epoch: 20870/50000, Loss: 0.0000001865146260\n",
      "Epoch: 20880/50000, Loss: 0.0000001852636160\n",
      "Epoch: 20890/50000, Loss: 0.0000001841071509\n",
      "Epoch: 20900/50000, Loss: 0.0000001830287317\n",
      "Epoch: 20910/50000, Loss: 0.0000001820122577\n",
      "Epoch: 20920/50000, Loss: 0.0000001810427932\n",
      "Epoch: 20930/50000, Loss: 0.0000001801111296\n",
      "Epoch: 20940/50000, Loss: 0.0000001792155615\n",
      "Epoch: 20950/50000, Loss: 0.0000001783644166\n",
      "Epoch: 20960/50000, Loss: 0.0000001775341474\n",
      "Epoch: 20970/50000, Loss: 0.0000001767286193\n",
      "Epoch: 20980/50000, Loss: 0.0000001759620432\n",
      "Epoch: 20990/50000, Loss: 0.0000001767522093\n",
      "Epoch: 21000/50000, Loss: 0.0000003848219876\n",
      "Epoch: 21010/50000, Loss: 0.0000375106283172\n",
      "Epoch: 21020/50000, Loss: 0.0000080890840763\n",
      "Epoch: 21030/50000, Loss: 0.0000013783785562\n",
      "Epoch: 21040/50000, Loss: 0.0000003068724936\n",
      "Epoch: 21050/50000, Loss: 0.0000006057796895\n",
      "Epoch: 21060/50000, Loss: 0.0000004691473805\n",
      "Epoch: 21070/50000, Loss: 0.0000003097535739\n",
      "Epoch: 21080/50000, Loss: 0.0000002364722889\n",
      "Epoch: 21090/50000, Loss: 0.0000002064945619\n",
      "Epoch: 21100/50000, Loss: 0.0000001932925926\n",
      "Epoch: 21110/50000, Loss: 0.0000001879518834\n",
      "Epoch: 21120/50000, Loss: 0.0000001860250194\n",
      "Epoch: 21130/50000, Loss: 0.0000001842442146\n",
      "Epoch: 21140/50000, Loss: 0.0000001824662377\n",
      "Epoch: 21150/50000, Loss: 0.0000001811196455\n",
      "Epoch: 21160/50000, Loss: 0.0000001798274383\n",
      "Epoch: 21170/50000, Loss: 0.0000001786597466\n",
      "Epoch: 21180/50000, Loss: 0.0000001775799348\n",
      "Epoch: 21190/50000, Loss: 0.0000001765425282\n",
      "Epoch: 21200/50000, Loss: 0.0000001755700225\n",
      "Epoch: 21210/50000, Loss: 0.0000001746450096\n",
      "Epoch: 21220/50000, Loss: 0.0000001737661961\n",
      "Epoch: 21230/50000, Loss: 0.0000001729051036\n",
      "Epoch: 21240/50000, Loss: 0.0000001720722480\n",
      "Epoch: 21250/50000, Loss: 0.0000001712697042\n",
      "Epoch: 21260/50000, Loss: 0.0000001704979979\n",
      "Epoch: 21270/50000, Loss: 0.0000001699017957\n",
      "Epoch: 21280/50000, Loss: 0.0000001789810824\n",
      "Epoch: 21290/50000, Loss: 0.0000014786062366\n",
      "Epoch: 21300/50000, Loss: 0.0000377108954126\n",
      "Epoch: 21310/50000, Loss: 0.0000102794556369\n",
      "Epoch: 21320/50000, Loss: 0.0000040669146983\n",
      "Epoch: 21330/50000, Loss: 0.0000014682660776\n",
      "Epoch: 21340/50000, Loss: 0.0000005120551805\n",
      "Epoch: 21350/50000, Loss: 0.0000002807615260\n",
      "Epoch: 21360/50000, Loss: 0.0000002271002586\n",
      "Epoch: 21370/50000, Loss: 0.0000002071613636\n",
      "Epoch: 21380/50000, Loss: 0.0000001926065778\n",
      "Epoch: 21390/50000, Loss: 0.0000001823871827\n",
      "Epoch: 21400/50000, Loss: 0.0000001791662072\n",
      "Epoch: 21410/50000, Loss: 0.0000001776094791\n",
      "Epoch: 21420/50000, Loss: 0.0000001755995385\n",
      "Epoch: 21430/50000, Loss: 0.0000001742513120\n",
      "Epoch: 21440/50000, Loss: 0.0000001729433023\n",
      "Epoch: 21450/50000, Loss: 0.0000001717686047\n",
      "Epoch: 21460/50000, Loss: 0.0000001706895603\n",
      "Epoch: 21470/50000, Loss: 0.0000001696785858\n",
      "Epoch: 21480/50000, Loss: 0.0000001687137825\n",
      "Epoch: 21490/50000, Loss: 0.0000001678044868\n",
      "Epoch: 21500/50000, Loss: 0.0000001669274923\n",
      "Epoch: 21510/50000, Loss: 0.0000001660852575\n",
      "Epoch: 21520/50000, Loss: 0.0000001652718140\n",
      "Epoch: 21530/50000, Loss: 0.0000001644887959\n",
      "Epoch: 21540/50000, Loss: 0.0000001637395428\n",
      "Epoch: 21550/50000, Loss: 0.0000001634973614\n",
      "Epoch: 21560/50000, Loss: 0.0000002404626969\n",
      "Epoch: 21570/50000, Loss: 0.0000201826533157\n",
      "Epoch: 21580/50000, Loss: 0.0000226198608289\n",
      "Epoch: 21590/50000, Loss: 0.0000029394911962\n",
      "Epoch: 21600/50000, Loss: 0.0000008889352330\n",
      "Epoch: 21610/50000, Loss: 0.0000011617869404\n",
      "Epoch: 21620/50000, Loss: 0.0000003003094946\n",
      "Epoch: 21630/50000, Loss: 0.0000002059825022\n",
      "Epoch: 21640/50000, Loss: 0.0000002079049466\n",
      "Epoch: 21650/50000, Loss: 0.0000001950682389\n",
      "Epoch: 21660/50000, Loss: 0.0000001847648292\n",
      "Epoch: 21670/50000, Loss: 0.0000001787284560\n",
      "Epoch: 21680/50000, Loss: 0.0000001753932963\n",
      "Epoch: 21690/50000, Loss: 0.0000001732880719\n",
      "Epoch: 21700/50000, Loss: 0.0000001716343405\n",
      "Epoch: 21710/50000, Loss: 0.0000001700838936\n",
      "Epoch: 21720/50000, Loss: 0.0000001687156015\n",
      "Epoch: 21730/50000, Loss: 0.0000001674839325\n",
      "Epoch: 21740/50000, Loss: 0.0000001663371876\n",
      "Epoch: 21750/50000, Loss: 0.0000001652820316\n",
      "Epoch: 21760/50000, Loss: 0.0000001642892471\n",
      "Epoch: 21770/50000, Loss: 0.0000001633415536\n",
      "Epoch: 21780/50000, Loss: 0.0000001624452182\n",
      "Epoch: 21790/50000, Loss: 0.0000001615913874\n",
      "Epoch: 21800/50000, Loss: 0.0000001607632640\n",
      "Epoch: 21810/50000, Loss: 0.0000001599732968\n",
      "Epoch: 21820/50000, Loss: 0.0000001591910177\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 21830/50000, Loss: 0.0000001584584197\n",
      "Epoch: 21840/50000, Loss: 0.0000001577237185\n",
      "Epoch: 21850/50000, Loss: 0.0000001570460029\n",
      "Epoch: 21860/50000, Loss: 0.0000001583974409\n",
      "Epoch: 21870/50000, Loss: 0.0000004521213555\n",
      "Epoch: 21880/50000, Loss: 0.0000457070964330\n",
      "Epoch: 21890/50000, Loss: 0.0000006012986091\n",
      "Epoch: 21900/50000, Loss: 0.0000033794669889\n",
      "Epoch: 21910/50000, Loss: 0.0000019175502075\n",
      "Epoch: 21920/50000, Loss: 0.0000002936049555\n",
      "Epoch: 21930/50000, Loss: 0.0000002260671863\n",
      "Epoch: 21940/50000, Loss: 0.0000002311049059\n",
      "Epoch: 21950/50000, Loss: 0.0000002020547356\n",
      "Epoch: 21960/50000, Loss: 0.0000001827320517\n",
      "Epoch: 21970/50000, Loss: 0.0000001732838371\n",
      "Epoch: 21980/50000, Loss: 0.0000001689668068\n",
      "Epoch: 21990/50000, Loss: 0.0000001669179994\n",
      "Epoch: 22000/50000, Loss: 0.0000001651689274\n",
      "Epoch: 22010/50000, Loss: 0.0000001634125226\n",
      "Epoch: 22020/50000, Loss: 0.0000001620237811\n",
      "Epoch: 22030/50000, Loss: 0.0000001607408677\n",
      "Epoch: 22040/50000, Loss: 0.0000001595824699\n",
      "Epoch: 22050/50000, Loss: 0.0000001585076745\n",
      "Epoch: 22060/50000, Loss: 0.0000001575008213\n",
      "Epoch: 22070/50000, Loss: 0.0000001565492909\n",
      "Epoch: 22080/50000, Loss: 0.0000001556476406\n",
      "Epoch: 22090/50000, Loss: 0.0000001547860506\n",
      "Epoch: 22100/50000, Loss: 0.0000001539538346\n",
      "Epoch: 22110/50000, Loss: 0.0000001531620910\n",
      "Epoch: 22120/50000, Loss: 0.0000001523940085\n",
      "Epoch: 22130/50000, Loss: 0.0000001516436186\n",
      "Epoch: 22140/50000, Loss: 0.0000001509985452\n",
      "Epoch: 22150/50000, Loss: 0.0000001556521028\n",
      "Epoch: 22160/50000, Loss: 0.0000008932718742\n",
      "Epoch: 22170/50000, Loss: 0.0000446585363534\n",
      "Epoch: 22180/50000, Loss: 0.0000097281545095\n",
      "Epoch: 22190/50000, Loss: 0.0000039266569729\n",
      "Epoch: 22200/50000, Loss: 0.0000007144072924\n",
      "Epoch: 22210/50000, Loss: 0.0000002061405269\n",
      "Epoch: 22220/50000, Loss: 0.0000002040982707\n",
      "Epoch: 22230/50000, Loss: 0.0000001872217297\n",
      "Epoch: 22240/50000, Loss: 0.0000001719438387\n",
      "Epoch: 22250/50000, Loss: 0.0000001658489595\n",
      "Epoch: 22260/50000, Loss: 0.0000001643700642\n",
      "Epoch: 22270/50000, Loss: 0.0000001617374608\n",
      "Epoch: 22280/50000, Loss: 0.0000001587296055\n",
      "Epoch: 22290/50000, Loss: 0.0000001571787180\n",
      "Epoch: 22300/50000, Loss: 0.0000001556399809\n",
      "Epoch: 22310/50000, Loss: 0.0000001543693173\n",
      "Epoch: 22320/50000, Loss: 0.0000001531757903\n",
      "Epoch: 22330/50000, Loss: 0.0000001520932500\n",
      "Epoch: 22340/50000, Loss: 0.0000001510820766\n",
      "Epoch: 22350/50000, Loss: 0.0000001501269935\n",
      "Epoch: 22360/50000, Loss: 0.0000001492248174\n",
      "Epoch: 22370/50000, Loss: 0.0000001483586232\n",
      "Epoch: 22380/50000, Loss: 0.0000001475373921\n",
      "Epoch: 22390/50000, Loss: 0.0000001467460891\n",
      "Epoch: 22400/50000, Loss: 0.0000001459811756\n",
      "Epoch: 22410/50000, Loss: 0.0000001452569052\n",
      "Epoch: 22420/50000, Loss: 0.0000001458078458\n",
      "Epoch: 22430/50000, Loss: 0.0000003148071244\n",
      "Epoch: 22440/50000, Loss: 0.0000315658471663\n",
      "Epoch: 22450/50000, Loss: 0.0000030704791243\n",
      "Epoch: 22460/50000, Loss: 0.0000006945356859\n",
      "Epoch: 22470/50000, Loss: 0.0000016841216848\n",
      "Epoch: 22480/50000, Loss: 0.0000008415076991\n",
      "Epoch: 22490/50000, Loss: 0.0000003225644605\n",
      "Epoch: 22500/50000, Loss: 0.0000002013547373\n",
      "Epoch: 22510/50000, Loss: 0.0000001742319569\n",
      "Epoch: 22520/50000, Loss: 0.0000001669252470\n",
      "Epoch: 22530/50000, Loss: 0.0000001613743308\n",
      "Epoch: 22540/50000, Loss: 0.0000001564376788\n",
      "Epoch: 22550/50000, Loss: 0.0000001531685712\n",
      "Epoch: 22560/50000, Loss: 0.0000001516233112\n",
      "Epoch: 22570/50000, Loss: 0.0000001500559534\n",
      "Epoch: 22580/50000, Loss: 0.0000001493597210\n",
      "Epoch: 22590/50000, Loss: 0.0000001476425098\n",
      "Epoch: 22600/50000, Loss: 0.0000001463814385\n",
      "Epoch: 22610/50000, Loss: 0.0000001453737042\n",
      "Epoch: 22620/50000, Loss: 0.0000001443796549\n",
      "Epoch: 22630/50000, Loss: 0.0000001434603973\n",
      "Epoch: 22640/50000, Loss: 0.0000001425876093\n",
      "Epoch: 22650/50000, Loss: 0.0000001417494389\n",
      "Epoch: 22660/50000, Loss: 0.0000001409494672\n",
      "Epoch: 22670/50000, Loss: 0.0000001401712098\n",
      "Epoch: 22680/50000, Loss: 0.0000001394166986\n",
      "Epoch: 22690/50000, Loss: 0.0000001386998463\n",
      "Epoch: 22700/50000, Loss: 0.0000001386421644\n",
      "Epoch: 22710/50000, Loss: 0.0000002375486901\n",
      "Epoch: 22720/50000, Loss: 0.0000243459035119\n",
      "Epoch: 22730/50000, Loss: 0.0000082818851297\n",
      "Epoch: 22740/50000, Loss: 0.0000004575816206\n",
      "Epoch: 22750/50000, Loss: 0.0000019394419724\n",
      "Epoch: 22760/50000, Loss: 0.0000008426169984\n",
      "Epoch: 22770/50000, Loss: 0.0000002385847040\n",
      "Epoch: 22780/50000, Loss: 0.0000001699607424\n",
      "Epoch: 22790/50000, Loss: 0.0000001608383968\n",
      "Epoch: 22800/50000, Loss: 0.0000001557854858\n",
      "Epoch: 22810/50000, Loss: 0.0000001517176145\n",
      "Epoch: 22820/50000, Loss: 0.0000001497115960\n",
      "Epoch: 22830/50000, Loss: 0.0000001478265830\n",
      "Epoch: 22840/50000, Loss: 0.0000001460990546\n",
      "Epoch: 22850/50000, Loss: 0.0000001440010635\n",
      "Epoch: 22860/50000, Loss: 0.0000001427408591\n",
      "Epoch: 22870/50000, Loss: 0.0000001414342989\n",
      "Epoch: 22880/50000, Loss: 0.0000001403114425\n",
      "Epoch: 22890/50000, Loss: 0.0000001392670868\n",
      "Epoch: 22900/50000, Loss: 0.0000001382912416\n",
      "Epoch: 22910/50000, Loss: 0.0000001373668965\n",
      "Epoch: 22920/50000, Loss: 0.0000001364885236\n",
      "Epoch: 22930/50000, Loss: 0.0000001356465589\n",
      "Epoch: 22940/50000, Loss: 0.0000001348451804\n",
      "Epoch: 22950/50000, Loss: 0.0000001340665108\n",
      "Epoch: 22960/50000, Loss: 0.0000001333204978\n",
      "Epoch: 22970/50000, Loss: 0.0000001325975489\n",
      "Epoch: 22980/50000, Loss: 0.0000001320141223\n",
      "Epoch: 22990/50000, Loss: 0.0000001382724975\n",
      "Epoch: 23000/50000, Loss: 0.0000010368330550\n",
      "Epoch: 23010/50000, Loss: 0.0000339311518474\n",
      "Epoch: 23020/50000, Loss: 0.0000093107300927\n",
      "Epoch: 23030/50000, Loss: 0.0000031818158277\n",
      "Epoch: 23040/50000, Loss: 0.0000008838578651\n",
      "Epoch: 23050/50000, Loss: 0.0000003282496550\n",
      "Epoch: 23060/50000, Loss: 0.0000002153361436\n",
      "Epoch: 23070/50000, Loss: 0.0000001850325617\n",
      "Epoch: 23080/50000, Loss: 0.0000001660490909\n",
      "Epoch: 23090/50000, Loss: 0.0000001480730987\n",
      "Epoch: 23100/50000, Loss: 0.0000001405122418\n",
      "Epoch: 23110/50000, Loss: 0.0000001395654579\n",
      "Epoch: 23120/50000, Loss: 0.0000001370166984\n",
      "Epoch: 23130/50000, Loss: 0.0000001357397110\n",
      "Epoch: 23140/50000, Loss: 0.0000001343467346\n",
      "Epoch: 23150/50000, Loss: 0.0000001331916906\n",
      "Epoch: 23160/50000, Loss: 0.0000001321299123\n",
      "Epoch: 23170/50000, Loss: 0.0000001311437643\n",
      "Epoch: 23180/50000, Loss: 0.0000001302149002\n",
      "Epoch: 23190/50000, Loss: 0.0000001295962591\n",
      "Epoch: 23200/50000, Loss: 0.0000001285480948\n",
      "Epoch: 23210/50000, Loss: 0.0000001277929016\n",
      "Epoch: 23220/50000, Loss: 0.0000001268973193\n",
      "Epoch: 23230/50000, Loss: 0.0000001261928588\n",
      "Epoch: 23240/50000, Loss: 0.0000001267339087\n",
      "Epoch: 23250/50000, Loss: 0.0000002547584188\n",
      "Epoch: 23260/50000, Loss: 0.0000209369518416\n",
      "Epoch: 23270/50000, Loss: 0.0000100278266473\n",
      "Epoch: 23280/50000, Loss: 0.0000021561568246\n",
      "Epoch: 23290/50000, Loss: 0.0000003893750886\n",
      "Epoch: 23300/50000, Loss: 0.0000001762440291\n",
      "Epoch: 23310/50000, Loss: 0.0000001593623722\n",
      "Epoch: 23320/50000, Loss: 0.0000001582277633\n",
      "Epoch: 23330/50000, Loss: 0.0000001583474898\n",
      "Epoch: 23340/50000, Loss: 0.0000001469776123\n",
      "Epoch: 23350/50000, Loss: 0.0000001347525114\n",
      "Epoch: 23360/50000, Loss: 0.0000001327543089\n",
      "Epoch: 23370/50000, Loss: 0.0000001307274431\n",
      "Epoch: 23380/50000, Loss: 0.0000001291958114\n",
      "Epoch: 23390/50000, Loss: 0.0000001278001065\n",
      "Epoch: 23400/50000, Loss: 0.0000001266860323\n",
      "Epoch: 23410/50000, Loss: 0.0000001257166957\n",
      "Epoch: 23420/50000, Loss: 0.0000001249145924\n",
      "Epoch: 23430/50000, Loss: 0.0000001237940097\n",
      "Epoch: 23440/50000, Loss: 0.0000001230129101\n",
      "Epoch: 23450/50000, Loss: 0.0000001220470551\n",
      "Epoch: 23460/50000, Loss: 0.0000001212277709\n",
      "Epoch: 23470/50000, Loss: 0.0000001204701618\n",
      "Epoch: 23480/50000, Loss: 0.0000001197402355\n",
      "Epoch: 23490/50000, Loss: 0.0000001195441968\n",
      "Epoch: 23500/50000, Loss: 0.0000001653779265\n",
      "Epoch: 23510/50000, Loss: 0.0000082392489276\n",
      "Epoch: 23520/50000, Loss: 0.0000129413256218\n",
      "Epoch: 23530/50000, Loss: 0.0000050456701501\n",
      "Epoch: 23540/50000, Loss: 0.0000021848350116\n",
      "Epoch: 23550/50000, Loss: 0.0000008984370652\n",
      "Epoch: 23560/50000, Loss: 0.0000004174959543\n",
      "Epoch: 23570/50000, Loss: 0.0000002315102421\n",
      "Epoch: 23580/50000, Loss: 0.0000001532226861\n",
      "Epoch: 23590/50000, Loss: 0.0000001294792185\n",
      "Epoch: 23600/50000, Loss: 0.0000001296759393\n",
      "Epoch: 23610/50000, Loss: 0.0000001263982341\n",
      "Epoch: 23620/50000, Loss: 0.0000001237408185\n",
      "Epoch: 23630/50000, Loss: 0.0000001223703237\n",
      "Epoch: 23640/50000, Loss: 0.0000001211110430\n",
      "Epoch: 23650/50000, Loss: 0.0000001203277549\n",
      "Epoch: 23660/50000, Loss: 0.0000001190434418\n",
      "Epoch: 23670/50000, Loss: 0.0000001180171338\n",
      "Epoch: 23680/50000, Loss: 0.0000001170474562\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 23690/50000, Loss: 0.0000001162001482\n",
      "Epoch: 23700/50000, Loss: 0.0000001153840472\n",
      "Epoch: 23710/50000, Loss: 0.0000001146033597\n",
      "Epoch: 23720/50000, Loss: 0.0000001138583130\n",
      "Epoch: 23730/50000, Loss: 0.0000001131329981\n",
      "Epoch: 23740/50000, Loss: 0.0000001124341651\n",
      "Epoch: 23750/50000, Loss: 0.0000001118504542\n",
      "Epoch: 23760/50000, Loss: 0.0000001268037977\n",
      "Epoch: 23770/50000, Loss: 0.0000053594822020\n",
      "Epoch: 23780/50000, Loss: 0.0000137650658871\n",
      "Epoch: 23790/50000, Loss: 0.0000086760974227\n",
      "Epoch: 23800/50000, Loss: 0.0000015161476767\n",
      "Epoch: 23810/50000, Loss: 0.0000001944823680\n",
      "Epoch: 23820/50000, Loss: 0.0000003762115171\n",
      "Epoch: 23830/50000, Loss: 0.0000002372195951\n",
      "Epoch: 23840/50000, Loss: 0.0000001770993805\n",
      "Epoch: 23850/50000, Loss: 0.0000001394875113\n",
      "Epoch: 23860/50000, Loss: 0.0000001282087112\n",
      "Epoch: 23870/50000, Loss: 0.0000001214522456\n",
      "Epoch: 23880/50000, Loss: 0.0000001186140253\n",
      "Epoch: 23890/50000, Loss: 0.0000001169740216\n",
      "Epoch: 23900/50000, Loss: 0.0000001157781995\n",
      "Epoch: 23910/50000, Loss: 0.0000001145328383\n",
      "Epoch: 23920/50000, Loss: 0.0000001134685732\n",
      "Epoch: 23930/50000, Loss: 0.0000001124801088\n",
      "Epoch: 23940/50000, Loss: 0.0000001115619739\n",
      "Epoch: 23950/50000, Loss: 0.0000001106948062\n",
      "Epoch: 23960/50000, Loss: 0.0000001098695606\n",
      "Epoch: 23970/50000, Loss: 0.0000001090918289\n",
      "Epoch: 23980/50000, Loss: 0.0000001085982717\n",
      "Epoch: 23990/50000, Loss: 0.0000001082943442\n",
      "Epoch: 24000/50000, Loss: 0.0000001072659899\n",
      "Epoch: 24010/50000, Loss: 0.0000001062622346\n",
      "Epoch: 24020/50000, Loss: 0.0000001056303276\n",
      "Epoch: 24030/50000, Loss: 0.0000001049720453\n",
      "Epoch: 24040/50000, Loss: 0.0000001043850233\n",
      "Epoch: 24050/50000, Loss: 0.0000001056287573\n",
      "Epoch: 24060/50000, Loss: 0.0000003238257591\n",
      "Epoch: 24070/50000, Loss: 0.0000303916895064\n",
      "Epoch: 24080/50000, Loss: 0.0000005315807243\n",
      "Epoch: 24090/50000, Loss: 0.0000005217098078\n",
      "Epoch: 24100/50000, Loss: 0.0000005903312967\n",
      "Epoch: 24110/50000, Loss: 0.0000003359090499\n",
      "Epoch: 24120/50000, Loss: 0.0000001784632957\n",
      "Epoch: 24130/50000, Loss: 0.0000001230564806\n",
      "Epoch: 24140/50000, Loss: 0.0000001190603953\n",
      "Epoch: 24150/50000, Loss: 0.0000001209888154\n",
      "Epoch: 24160/50000, Loss: 0.0000001137275234\n",
      "Epoch: 24170/50000, Loss: 0.0000001099273277\n",
      "Epoch: 24180/50000, Loss: 0.0000001088836257\n",
      "Epoch: 24190/50000, Loss: 0.0000001073199201\n",
      "Epoch: 24200/50000, Loss: 0.0000001065537134\n",
      "Epoch: 24210/50000, Loss: 0.0000001056316279\n",
      "Epoch: 24220/50000, Loss: 0.0000001044269737\n",
      "Epoch: 24230/50000, Loss: 0.0000001034952462\n",
      "Epoch: 24240/50000, Loss: 0.0000001026220957\n",
      "Epoch: 24250/50000, Loss: 0.0000001018233178\n",
      "Epoch: 24260/50000, Loss: 0.0000001010736668\n",
      "Epoch: 24270/50000, Loss: 0.0000001003585339\n",
      "Epoch: 24280/50000, Loss: 0.0000000996744589\n",
      "Epoch: 24290/50000, Loss: 0.0000000990119702\n",
      "Epoch: 24300/50000, Loss: 0.0000000984148727\n",
      "Epoch: 24310/50000, Loss: 0.0000001007250958\n",
      "Epoch: 24320/50000, Loss: 0.0000005814118254\n",
      "Epoch: 24330/50000, Loss: 0.0000401987708756\n",
      "Epoch: 24340/50000, Loss: 0.0000084128732851\n",
      "Epoch: 24350/50000, Loss: 0.0000035307668895\n",
      "Epoch: 24360/50000, Loss: 0.0000012942734884\n",
      "Epoch: 24370/50000, Loss: 0.0000005023650260\n",
      "Epoch: 24380/50000, Loss: 0.0000002600789060\n",
      "Epoch: 24390/50000, Loss: 0.0000001712803623\n",
      "Epoch: 24400/50000, Loss: 0.0000001273714645\n",
      "Epoch: 24410/50000, Loss: 0.0000001082072814\n",
      "Epoch: 24420/50000, Loss: 0.0000001052739691\n",
      "Epoch: 24430/50000, Loss: 0.0000001040927842\n",
      "Epoch: 24440/50000, Loss: 0.0000001017956137\n",
      "Epoch: 24450/50000, Loss: 0.0000001008063677\n",
      "Epoch: 24460/50000, Loss: 0.0000000996542582\n",
      "Epoch: 24470/50000, Loss: 0.0000000987020599\n",
      "Epoch: 24480/50000, Loss: 0.0000000978168941\n",
      "Epoch: 24490/50000, Loss: 0.0000000969820704\n",
      "Epoch: 24500/50000, Loss: 0.0000000961980859\n",
      "Epoch: 24510/50000, Loss: 0.0000000954513979\n",
      "Epoch: 24520/50000, Loss: 0.0000000947738386\n",
      "Epoch: 24530/50000, Loss: 0.0000000946964036\n",
      "Epoch: 24540/50000, Loss: 0.0000000939957872\n",
      "Epoch: 24550/50000, Loss: 0.0000000929413915\n",
      "Epoch: 24560/50000, Loss: 0.0000000922662338\n",
      "Epoch: 24570/50000, Loss: 0.0000000932428321\n",
      "Epoch: 24580/50000, Loss: 0.0000002626082392\n",
      "Epoch: 24590/50000, Loss: 0.0000236680316448\n",
      "Epoch: 24600/50000, Loss: 0.0000037521015201\n",
      "Epoch: 24610/50000, Loss: 0.0000010541114079\n",
      "Epoch: 24620/50000, Loss: 0.0000005139019663\n",
      "Epoch: 24630/50000, Loss: 0.0000003894817269\n",
      "Epoch: 24640/50000, Loss: 0.0000002757081745\n",
      "Epoch: 24650/50000, Loss: 0.0000001632732705\n",
      "Epoch: 24660/50000, Loss: 0.0000001044539530\n",
      "Epoch: 24670/50000, Loss: 0.0000001029257106\n",
      "Epoch: 24680/50000, Loss: 0.0000000996392586\n",
      "Epoch: 24690/50000, Loss: 0.0000000961983773\n",
      "Epoch: 24700/50000, Loss: 0.0000000948684900\n",
      "Epoch: 24710/50000, Loss: 0.0000000940742453\n",
      "Epoch: 24720/50000, Loss: 0.0000000927648642\n",
      "Epoch: 24730/50000, Loss: 0.0000000918962968\n",
      "Epoch: 24740/50000, Loss: 0.0000000910758757\n",
      "Epoch: 24750/50000, Loss: 0.0000000903705697\n",
      "Epoch: 24760/50000, Loss: 0.0000000896378296\n",
      "Epoch: 24770/50000, Loss: 0.0000000889018423\n",
      "Epoch: 24780/50000, Loss: 0.0000000882005011\n",
      "Epoch: 24790/50000, Loss: 0.0000000875586039\n",
      "Epoch: 24800/50000, Loss: 0.0000000869532784\n",
      "Epoch: 24810/50000, Loss: 0.0000000863591225\n",
      "Epoch: 24820/50000, Loss: 0.0000000859325979\n",
      "Epoch: 24830/50000, Loss: 0.0000001141782491\n",
      "Epoch: 24840/50000, Loss: 0.0000102363837868\n",
      "Epoch: 24850/50000, Loss: 0.0000198423822440\n",
      "Epoch: 24860/50000, Loss: 0.0000034911433886\n",
      "Epoch: 24870/50000, Loss: 0.0000003256791956\n",
      "Epoch: 24880/50000, Loss: 0.0000002579996021\n",
      "Epoch: 24890/50000, Loss: 0.0000002765113720\n",
      "Epoch: 24900/50000, Loss: 0.0000001518655210\n",
      "Epoch: 24910/50000, Loss: 0.0000001197281136\n",
      "Epoch: 24920/50000, Loss: 0.0000001027653056\n",
      "Epoch: 24930/50000, Loss: 0.0000000936665998\n",
      "Epoch: 24940/50000, Loss: 0.0000000917276353\n",
      "Epoch: 24950/50000, Loss: 0.0000000908656261\n",
      "Epoch: 24960/50000, Loss: 0.0000000895361296\n",
      "Epoch: 24970/50000, Loss: 0.0000000887972647\n",
      "Epoch: 24980/50000, Loss: 0.0000000875943797\n",
      "Epoch: 24990/50000, Loss: 0.0000000866323475\n",
      "Epoch: 25000/50000, Loss: 0.0000000858643929\n",
      "Epoch: 25010/50000, Loss: 0.0000000851396962\n",
      "Epoch: 25020/50000, Loss: 0.0000000844490415\n",
      "Epoch: 25030/50000, Loss: 0.0000000837934380\n",
      "Epoch: 25040/50000, Loss: 0.0000000831694464\n",
      "Epoch: 25050/50000, Loss: 0.0000000825668707\n",
      "Epoch: 25060/50000, Loss: 0.0000000819957151\n",
      "Epoch: 25070/50000, Loss: 0.0000000814427281\n",
      "Epoch: 25080/50000, Loss: 0.0000000809104961\n",
      "Epoch: 25090/50000, Loss: 0.0000000803956937\n",
      "Epoch: 25100/50000, Loss: 0.0000000798938800\n",
      "Epoch: 25110/50000, Loss: 0.0000000794146260\n",
      "Epoch: 25120/50000, Loss: 0.0000000791552921\n",
      "Epoch: 25130/50000, Loss: 0.0000001201349136\n",
      "Epoch: 25140/50000, Loss: 0.0000133504900077\n",
      "Epoch: 25150/50000, Loss: 0.0000155483685376\n",
      "Epoch: 25160/50000, Loss: 0.0000011500718529\n",
      "Epoch: 25170/50000, Loss: 0.0000003141802836\n",
      "Epoch: 25180/50000, Loss: 0.0000004802003559\n",
      "Epoch: 25190/50000, Loss: 0.0000003321699467\n",
      "Epoch: 25200/50000, Loss: 0.0000001895629396\n",
      "Epoch: 25210/50000, Loss: 0.0000001245460766\n",
      "Epoch: 25220/50000, Loss: 0.0000000996987097\n",
      "Epoch: 25230/50000, Loss: 0.0000000900452761\n",
      "Epoch: 25240/50000, Loss: 0.0000000862850413\n",
      "Epoch: 25250/50000, Loss: 0.0000000850387067\n",
      "Epoch: 25260/50000, Loss: 0.0000000840309013\n",
      "Epoch: 25270/50000, Loss: 0.0000000828806037\n",
      "Epoch: 25280/50000, Loss: 0.0000000820124484\n",
      "Epoch: 25290/50000, Loss: 0.0000000811912741\n",
      "Epoch: 25300/50000, Loss: 0.0000000804456164\n",
      "Epoch: 25310/50000, Loss: 0.0000000797409996\n",
      "Epoch: 25320/50000, Loss: 0.0000000790711141\n",
      "Epoch: 25330/50000, Loss: 0.0000000784298635\n",
      "Epoch: 25340/50000, Loss: 0.0000000779360008\n",
      "Epoch: 25350/50000, Loss: 0.0000000773510038\n",
      "Epoch: 25360/50000, Loss: 0.0000000768620652\n",
      "Epoch: 25370/50000, Loss: 0.0000000761600489\n",
      "Epoch: 25380/50000, Loss: 0.0000000756711387\n",
      "Epoch: 25390/50000, Loss: 0.0000000751607843\n",
      "Epoch: 25400/50000, Loss: 0.0000000746831219\n",
      "Epoch: 25410/50000, Loss: 0.0000000745283302\n",
      "Epoch: 25420/50000, Loss: 0.0000001006217971\n",
      "Epoch: 25430/50000, Loss: 0.0000046608033699\n",
      "Epoch: 25440/50000, Loss: 0.0000044220710151\n",
      "Epoch: 25450/50000, Loss: 0.0000013757518218\n",
      "Epoch: 25460/50000, Loss: 0.0000005121702316\n",
      "Epoch: 25470/50000, Loss: 0.0000001349555419\n",
      "Epoch: 25480/50000, Loss: 0.0000001042118711\n",
      "Epoch: 25490/50000, Loss: 0.0000001296827605\n",
      "Epoch: 25500/50000, Loss: 0.0000001179997895\n",
      "Epoch: 25510/50000, Loss: 0.0000000869821974\n",
      "Epoch: 25520/50000, Loss: 0.0000000814997918\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 25530/50000, Loss: 0.0000000805449645\n",
      "Epoch: 25540/50000, Loss: 0.0000000782399354\n",
      "Epoch: 25550/50000, Loss: 0.0000000772797293\n",
      "Epoch: 25560/50000, Loss: 0.0000000764796084\n",
      "Epoch: 25570/50000, Loss: 0.0000000756775620\n",
      "Epoch: 25580/50000, Loss: 0.0000000753985745\n",
      "Epoch: 25590/50000, Loss: 0.0000000745647881\n",
      "Epoch: 25600/50000, Loss: 0.0000000737277190\n",
      "Epoch: 25610/50000, Loss: 0.0000000731462961\n",
      "Epoch: 25620/50000, Loss: 0.0000000725635942\n",
      "Epoch: 25630/50000, Loss: 0.0000000720431075\n",
      "Epoch: 25640/50000, Loss: 0.0000000717332327\n",
      "Epoch: 25650/50000, Loss: 0.0000000710494277\n",
      "Epoch: 25660/50000, Loss: 0.0000000716003470\n",
      "Epoch: 25670/50000, Loss: 0.0000001709619966\n",
      "Epoch: 25680/50000, Loss: 0.0000156302830874\n",
      "Epoch: 25690/50000, Loss: 0.0000102386320577\n",
      "Epoch: 25700/50000, Loss: 0.0000037032859836\n",
      "Epoch: 25710/50000, Loss: 0.0000016114987602\n",
      "Epoch: 25720/50000, Loss: 0.0000005327274835\n",
      "Epoch: 25730/50000, Loss: 0.0000001373746557\n",
      "Epoch: 25740/50000, Loss: 0.0000000826211846\n",
      "Epoch: 25750/50000, Loss: 0.0000000986364981\n",
      "Epoch: 25760/50000, Loss: 0.0000000815709811\n",
      "Epoch: 25770/50000, Loss: 0.0000000768361303\n",
      "Epoch: 25780/50000, Loss: 0.0000000750318350\n",
      "Epoch: 25790/50000, Loss: 0.0000000739100656\n",
      "Epoch: 25800/50000, Loss: 0.0000000728681826\n",
      "Epoch: 25810/50000, Loss: 0.0000000721845126\n",
      "Epoch: 25820/50000, Loss: 0.0000000716412245\n",
      "Epoch: 25830/50000, Loss: 0.0000000707635550\n",
      "Epoch: 25840/50000, Loss: 0.0000000701305325\n",
      "Epoch: 25850/50000, Loss: 0.0000000695475251\n",
      "Epoch: 25860/50000, Loss: 0.0000000690054236\n",
      "Epoch: 25870/50000, Loss: 0.0000000684868269\n",
      "Epoch: 25880/50000, Loss: 0.0000000679972842\n",
      "Epoch: 25890/50000, Loss: 0.0000000675395881\n",
      "Epoch: 25900/50000, Loss: 0.0000000676516336\n",
      "Epoch: 25910/50000, Loss: 0.0000001207597791\n",
      "Epoch: 25920/50000, Loss: 0.0000093961316452\n",
      "Epoch: 25930/50000, Loss: 0.0000130786302179\n",
      "Epoch: 25940/50000, Loss: 0.0000043577610995\n",
      "Epoch: 25950/50000, Loss: 0.0000011397228263\n",
      "Epoch: 25960/50000, Loss: 0.0000002204618283\n",
      "Epoch: 25970/50000, Loss: 0.0000000954453085\n",
      "Epoch: 25980/50000, Loss: 0.0000001185839906\n",
      "Epoch: 25990/50000, Loss: 0.0000001017281335\n",
      "Epoch: 26000/50000, Loss: 0.0000000742179225\n",
      "Epoch: 26010/50000, Loss: 0.0000000744232409\n",
      "Epoch: 26020/50000, Loss: 0.0000000712737034\n",
      "Epoch: 26030/50000, Loss: 0.0000000705335452\n",
      "Epoch: 26040/50000, Loss: 0.0000000693118665\n",
      "Epoch: 26050/50000, Loss: 0.0000000686023753\n",
      "Epoch: 26060/50000, Loss: 0.0000000679537209\n",
      "Epoch: 26070/50000, Loss: 0.0000000673476066\n",
      "Epoch: 26080/50000, Loss: 0.0000000667824693\n",
      "Epoch: 26090/50000, Loss: 0.0000000662519284\n",
      "Epoch: 26100/50000, Loss: 0.0000000660004886\n",
      "Epoch: 26110/50000, Loss: 0.0000000652932570\n",
      "Epoch: 26120/50000, Loss: 0.0000000649025438\n",
      "Epoch: 26130/50000, Loss: 0.0000000644081410\n",
      "Epoch: 26140/50000, Loss: 0.0000000640615383\n",
      "Epoch: 26150/50000, Loss: 0.0000000654801440\n",
      "Epoch: 26160/50000, Loss: 0.0000003782996316\n",
      "Epoch: 26170/50000, Loss: 0.0000349771326000\n",
      "Epoch: 26180/50000, Loss: 0.0000037601098484\n",
      "Epoch: 26190/50000, Loss: 0.0000022678764253\n",
      "Epoch: 26200/50000, Loss: 0.0000006278536944\n",
      "Epoch: 26210/50000, Loss: 0.0000001592684100\n",
      "Epoch: 26220/50000, Loss: 0.0000000786192658\n",
      "Epoch: 26230/50000, Loss: 0.0000000847413659\n",
      "Epoch: 26240/50000, Loss: 0.0000000870808563\n",
      "Epoch: 26250/50000, Loss: 0.0000000746544515\n",
      "Epoch: 26260/50000, Loss: 0.0000000691206594\n",
      "Epoch: 26270/50000, Loss: 0.0000000685446651\n",
      "Epoch: 26280/50000, Loss: 0.0000000668753302\n",
      "Epoch: 26290/50000, Loss: 0.0000000662642705\n",
      "Epoch: 26300/50000, Loss: 0.0000000655488748\n",
      "Epoch: 26310/50000, Loss: 0.0000000649086900\n",
      "Epoch: 26320/50000, Loss: 0.0000000643418545\n",
      "Epoch: 26330/50000, Loss: 0.0000000638101056\n",
      "Epoch: 26340/50000, Loss: 0.0000000634249631\n",
      "Epoch: 26350/50000, Loss: 0.0000000629519619\n",
      "Epoch: 26360/50000, Loss: 0.0000000625095993\n",
      "Epoch: 26370/50000, Loss: 0.0000000620365910\n",
      "Epoch: 26380/50000, Loss: 0.0000000615644922\n",
      "Epoch: 26390/50000, Loss: 0.0000000611289863\n",
      "Epoch: 26400/50000, Loss: 0.0000000608441368\n",
      "Epoch: 26410/50000, Loss: 0.0000000681107224\n",
      "Epoch: 26420/50000, Loss: 0.0000012179947362\n",
      "Epoch: 26430/50000, Loss: 0.0000134577985591\n",
      "Epoch: 26440/50000, Loss: 0.0000065536451075\n",
      "Epoch: 26450/50000, Loss: 0.0000022514877855\n",
      "Epoch: 26460/50000, Loss: 0.0000008386587069\n",
      "Epoch: 26470/50000, Loss: 0.0000002226336449\n",
      "Epoch: 26480/50000, Loss: 0.0000000792520822\n",
      "Epoch: 26490/50000, Loss: 0.0000000882288447\n",
      "Epoch: 26500/50000, Loss: 0.0000000800326490\n",
      "Epoch: 26510/50000, Loss: 0.0000000664836577\n",
      "Epoch: 26520/50000, Loss: 0.0000000668539997\n",
      "Epoch: 26530/50000, Loss: 0.0000000642776783\n",
      "Epoch: 26540/50000, Loss: 0.0000000636951967\n",
      "Epoch: 26550/50000, Loss: 0.0000000629653485\n",
      "Epoch: 26560/50000, Loss: 0.0000000623125729\n",
      "Epoch: 26570/50000, Loss: 0.0000000617439184\n",
      "Epoch: 26580/50000, Loss: 0.0000000612731128\n",
      "Epoch: 26590/50000, Loss: 0.0000000612325906\n",
      "Epoch: 26600/50000, Loss: 0.0000000603472472\n",
      "Epoch: 26610/50000, Loss: 0.0000000598456538\n",
      "Epoch: 26620/50000, Loss: 0.0000000594358305\n",
      "Epoch: 26630/50000, Loss: 0.0000000590196585\n",
      "Epoch: 26640/50000, Loss: 0.0000000586889151\n",
      "Epoch: 26650/50000, Loss: 0.0000000610319830\n",
      "Epoch: 26660/50000, Loss: 0.0000003617207085\n",
      "Epoch: 26670/50000, Loss: 0.0000280366130028\n",
      "Epoch: 26680/50000, Loss: 0.0000006159208965\n",
      "Epoch: 26690/50000, Loss: 0.0000003266815156\n",
      "Epoch: 26700/50000, Loss: 0.0000005878957268\n",
      "Epoch: 26710/50000, Loss: 0.0000004637518884\n",
      "Epoch: 26720/50000, Loss: 0.0000001526748292\n",
      "Epoch: 26730/50000, Loss: 0.0000000678310670\n",
      "Epoch: 26740/50000, Loss: 0.0000000810008842\n",
      "Epoch: 26750/50000, Loss: 0.0000000650586855\n",
      "Epoch: 26760/50000, Loss: 0.0000000645571916\n",
      "Epoch: 26770/50000, Loss: 0.0000000618320826\n",
      "Epoch: 26780/50000, Loss: 0.0000000613802911\n",
      "Epoch: 26790/50000, Loss: 0.0000000606202732\n",
      "Epoch: 26800/50000, Loss: 0.0000000599972765\n",
      "Epoch: 26810/50000, Loss: 0.0000000599539618\n",
      "Epoch: 26820/50000, Loss: 0.0000000591398823\n",
      "Epoch: 26830/50000, Loss: 0.0000000585053712\n",
      "Epoch: 26840/50000, Loss: 0.0000000580332831\n",
      "Epoch: 26850/50000, Loss: 0.0000000576251118\n",
      "Epoch: 26860/50000, Loss: 0.0000000572212393\n",
      "Epoch: 26870/50000, Loss: 0.0000000568577789\n",
      "Epoch: 26880/50000, Loss: 0.0000000569618237\n",
      "Epoch: 26890/50000, Loss: 0.0000000916150498\n",
      "Epoch: 26900/50000, Loss: 0.0000051617280405\n",
      "Epoch: 26910/50000, Loss: 0.0000051129727581\n",
      "Epoch: 26920/50000, Loss: 0.0000003048154724\n",
      "Epoch: 26930/50000, Loss: 0.0000005172510100\n",
      "Epoch: 26940/50000, Loss: 0.0000004993662515\n",
      "Epoch: 26950/50000, Loss: 0.0000002473340714\n",
      "Epoch: 26960/50000, Loss: 0.0000000798241757\n",
      "Epoch: 26970/50000, Loss: 0.0000000768538513\n",
      "Epoch: 26980/50000, Loss: 0.0000000684117509\n",
      "Epoch: 26990/50000, Loss: 0.0000000622038812\n",
      "Epoch: 27000/50000, Loss: 0.0000000604215060\n",
      "Epoch: 27010/50000, Loss: 0.0000000600102794\n",
      "Epoch: 27020/50000, Loss: 0.0000000588709490\n",
      "Epoch: 27030/50000, Loss: 0.0000000581619020\n",
      "Epoch: 27040/50000, Loss: 0.0000000576183830\n",
      "Epoch: 27050/50000, Loss: 0.0000000571342937\n",
      "Epoch: 27060/50000, Loss: 0.0000000566853018\n",
      "Epoch: 27070/50000, Loss: 0.0000000562545210\n",
      "Epoch: 27080/50000, Loss: 0.0000000558536541\n",
      "Epoch: 27090/50000, Loss: 0.0000000554671473\n",
      "Epoch: 27100/50000, Loss: 0.0000000551004469\n",
      "Epoch: 27110/50000, Loss: 0.0000000547760699\n",
      "Epoch: 27120/50000, Loss: 0.0000000565181502\n",
      "Epoch: 27130/50000, Loss: 0.0000003627367846\n",
      "Epoch: 27140/50000, Loss: 0.0000325403707393\n",
      "Epoch: 27150/50000, Loss: 0.0000026217512641\n",
      "Epoch: 27160/50000, Loss: 0.0000010998368225\n",
      "Epoch: 27170/50000, Loss: 0.0000000953925365\n",
      "Epoch: 27180/50000, Loss: 0.0000001584938190\n",
      "Epoch: 27190/50000, Loss: 0.0000001491803232\n",
      "Epoch: 27200/50000, Loss: 0.0000001031774417\n",
      "Epoch: 27210/50000, Loss: 0.0000000714515096\n",
      "Epoch: 27220/50000, Loss: 0.0000000613042133\n",
      "Epoch: 27230/50000, Loss: 0.0000000609266380\n",
      "Epoch: 27240/50000, Loss: 0.0000000584312900\n",
      "Epoch: 27250/50000, Loss: 0.0000000578777346\n",
      "Epoch: 27260/50000, Loss: 0.0000000570935690\n",
      "Epoch: 27270/50000, Loss: 0.0000000565236462\n",
      "Epoch: 27280/50000, Loss: 0.0000000560579352\n",
      "Epoch: 27290/50000, Loss: 0.0000000562370133\n",
      "Epoch: 27300/50000, Loss: 0.0000000553988926\n",
      "Epoch: 27310/50000, Loss: 0.0000000547350503\n",
      "Epoch: 27320/50000, Loss: 0.0000000543802159\n",
      "Epoch: 27330/50000, Loss: 0.0000000539745102\n",
      "Epoch: 27340/50000, Loss: 0.0000000536238254\n",
      "Epoch: 27350/50000, Loss: 0.0000000532935296\n",
      "Epoch: 27360/50000, Loss: 0.0000000531530304\n",
      "Epoch: 27370/50000, Loss: 0.0000000583286024\n",
      "Epoch: 27380/50000, Loss: 0.0000005677965191\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 27390/50000, Loss: 0.0000251588116953\n",
      "Epoch: 27400/50000, Loss: 0.0000014280793721\n",
      "Epoch: 27410/50000, Loss: 0.0000003404358324\n",
      "Epoch: 27420/50000, Loss: 0.0000007159393363\n",
      "Epoch: 27430/50000, Loss: 0.0000003277999667\n",
      "Epoch: 27440/50000, Loss: 0.0000000648602168\n",
      "Epoch: 27450/50000, Loss: 0.0000000938168512\n",
      "Epoch: 27460/50000, Loss: 0.0000000619654941\n",
      "Epoch: 27470/50000, Loss: 0.0000000618506988\n",
      "Epoch: 27480/50000, Loss: 0.0000000565739349\n",
      "Epoch: 27490/50000, Loss: 0.0000000561697497\n",
      "Epoch: 27500/50000, Loss: 0.0000000555081030\n",
      "Epoch: 27510/50000, Loss: 0.0000000548337589\n",
      "Epoch: 27520/50000, Loss: 0.0000000543052572\n",
      "Epoch: 27530/50000, Loss: 0.0000000538489751\n",
      "Epoch: 27540/50000, Loss: 0.0000000537022906\n",
      "Epoch: 27550/50000, Loss: 0.0000000530794395\n",
      "Epoch: 27560/50000, Loss: 0.0000000527519433\n",
      "Epoch: 27570/50000, Loss: 0.0000000523169703\n",
      "Epoch: 27580/50000, Loss: 0.0000000519999261\n",
      "Epoch: 27590/50000, Loss: 0.0000000527777431\n",
      "Epoch: 27600/50000, Loss: 0.0000001512822365\n",
      "Epoch: 27610/50000, Loss: 0.0000141327345773\n",
      "Epoch: 27620/50000, Loss: 0.0000096535932244\n",
      "Epoch: 27630/50000, Loss: 0.0000038027733353\n",
      "Epoch: 27640/50000, Loss: 0.0000006817011808\n",
      "Epoch: 27650/50000, Loss: 0.0000001581065021\n",
      "Epoch: 27660/50000, Loss: 0.0000001179460227\n",
      "Epoch: 27670/50000, Loss: 0.0000001187670478\n",
      "Epoch: 27680/50000, Loss: 0.0000000588224793\n",
      "Epoch: 27690/50000, Loss: 0.0000000630285371\n",
      "Epoch: 27700/50000, Loss: 0.0000000561028521\n",
      "Epoch: 27710/50000, Loss: 0.0000000559340201\n",
      "Epoch: 27720/50000, Loss: 0.0000000545871899\n",
      "Epoch: 27730/50000, Loss: 0.0000000539145901\n",
      "Epoch: 27740/50000, Loss: 0.0000000534381286\n",
      "Epoch: 27750/50000, Loss: 0.0000000530015036\n",
      "Epoch: 27760/50000, Loss: 0.0000000528174269\n",
      "Epoch: 27770/50000, Loss: 0.0000000521928492\n",
      "Epoch: 27780/50000, Loss: 0.0000000518793755\n",
      "Epoch: 27790/50000, Loss: 0.0000000514899519\n",
      "Epoch: 27800/50000, Loss: 0.0000000511242817\n",
      "Epoch: 27810/50000, Loss: 0.0000000508024769\n",
      "Epoch: 27820/50000, Loss: 0.0000000505917228\n",
      "Epoch: 27830/50000, Loss: 0.0000000567800278\n",
      "Epoch: 27840/50000, Loss: 0.0000010032496220\n",
      "Epoch: 27850/50000, Loss: 0.0000159320570674\n",
      "Epoch: 27860/50000, Loss: 0.0000064336149990\n",
      "Epoch: 27870/50000, Loss: 0.0000021543025923\n",
      "Epoch: 27880/50000, Loss: 0.0000003646338484\n",
      "Epoch: 27890/50000, Loss: 0.0000000985017437\n",
      "Epoch: 27900/50000, Loss: 0.0000001058085530\n",
      "Epoch: 27910/50000, Loss: 0.0000000915911329\n",
      "Epoch: 27920/50000, Loss: 0.0000000587259379\n",
      "Epoch: 27930/50000, Loss: 0.0000000583990349\n",
      "Epoch: 27940/50000, Loss: 0.0000000547101919\n",
      "Epoch: 27950/50000, Loss: 0.0000000542328280\n",
      "Epoch: 27960/50000, Loss: 0.0000000531118367\n",
      "Epoch: 27970/50000, Loss: 0.0000000526429176\n",
      "Epoch: 27980/50000, Loss: 0.0000000524217612\n",
      "Epoch: 27990/50000, Loss: 0.0000000517619867\n",
      "Epoch: 28000/50000, Loss: 0.0000000513988638\n",
      "Epoch: 28010/50000, Loss: 0.0000000510197928\n",
      "Epoch: 28020/50000, Loss: 0.0000000506401925\n",
      "Epoch: 28030/50000, Loss: 0.0000000502975759\n",
      "Epoch: 28040/50000, Loss: 0.0000000499725736\n",
      "Epoch: 28050/50000, Loss: 0.0000000496724972\n",
      "Epoch: 28060/50000, Loss: 0.0000000494729768\n",
      "Epoch: 28070/50000, Loss: 0.0000000539080887\n",
      "Epoch: 28080/50000, Loss: 0.0000005776212788\n",
      "Epoch: 28090/50000, Loss: 0.0000249176318903\n",
      "Epoch: 28100/50000, Loss: 0.0000025025669856\n",
      "Epoch: 28110/50000, Loss: 0.0000002955076752\n",
      "Epoch: 28120/50000, Loss: 0.0000004700058582\n",
      "Epoch: 28130/50000, Loss: 0.0000003317639425\n",
      "Epoch: 28140/50000, Loss: 0.0000001184842162\n",
      "Epoch: 28150/50000, Loss: 0.0000000600330878\n",
      "Epoch: 28160/50000, Loss: 0.0000000687443844\n",
      "Epoch: 28170/50000, Loss: 0.0000000543030367\n",
      "Epoch: 28180/50000, Loss: 0.0000000542926912\n",
      "Epoch: 28190/50000, Loss: 0.0000000527415800\n",
      "Epoch: 28200/50000, Loss: 0.0000000518389172\n",
      "Epoch: 28210/50000, Loss: 0.0000000513537941\n",
      "Epoch: 28220/50000, Loss: 0.0000000509251485\n",
      "Epoch: 28230/50000, Loss: 0.0000000505239264\n",
      "Epoch: 28240/50000, Loss: 0.0000000501548314\n",
      "Epoch: 28250/50000, Loss: 0.0000000498630577\n",
      "Epoch: 28260/50000, Loss: 0.0000000496728134\n",
      "Epoch: 28270/50000, Loss: 0.0000000492074150\n",
      "Epoch: 28280/50000, Loss: 0.0000000488449707\n",
      "Epoch: 28290/50000, Loss: 0.0000000485612759\n",
      "Epoch: 28300/50000, Loss: 0.0000000495412849\n",
      "Epoch: 28310/50000, Loss: 0.0000001850382887\n",
      "Epoch: 28320/50000, Loss: 0.0000194140757230\n",
      "Epoch: 28330/50000, Loss: 0.0000049543182286\n",
      "Epoch: 28340/50000, Loss: 0.0000028026402106\n",
      "Epoch: 28350/50000, Loss: 0.0000010681952745\n",
      "Epoch: 28360/50000, Loss: 0.0000003425904254\n",
      "Epoch: 28370/50000, Loss: 0.0000000604058883\n",
      "Epoch: 28380/50000, Loss: 0.0000000851536512\n",
      "Epoch: 28390/50000, Loss: 0.0000000698141065\n",
      "Epoch: 28400/50000, Loss: 0.0000000536225073\n",
      "Epoch: 28410/50000, Loss: 0.0000000548910464\n",
      "Epoch: 28420/50000, Loss: 0.0000000518494474\n",
      "Epoch: 28430/50000, Loss: 0.0000000515108063\n",
      "Epoch: 28440/50000, Loss: 0.0000000508833011\n",
      "Epoch: 28450/50000, Loss: 0.0000000503382118\n",
      "Epoch: 28460/50000, Loss: 0.0000000499094810\n",
      "Epoch: 28470/50000, Loss: 0.0000000495338313\n",
      "Epoch: 28480/50000, Loss: 0.0000000491783787\n",
      "Epoch: 28490/50000, Loss: 0.0000000488383769\n",
      "Epoch: 28500/50000, Loss: 0.0000000485142735\n",
      "Epoch: 28510/50000, Loss: 0.0000000482086016\n",
      "Epoch: 28520/50000, Loss: 0.0000000479117936\n",
      "Epoch: 28530/50000, Loss: 0.0000000476378545\n",
      "Epoch: 28540/50000, Loss: 0.0000000477937689\n",
      "Epoch: 28550/50000, Loss: 0.0000000866243255\n",
      "Epoch: 28560/50000, Loss: 0.0000066302973210\n",
      "Epoch: 28570/50000, Loss: 0.0000092991049314\n",
      "Epoch: 28580/50000, Loss: 0.0000014222556501\n",
      "Epoch: 28590/50000, Loss: 0.0000004136047096\n",
      "Epoch: 28600/50000, Loss: 0.0000001642393954\n",
      "Epoch: 28610/50000, Loss: 0.0000002211996417\n",
      "Epoch: 28620/50000, Loss: 0.0000001083791190\n",
      "Epoch: 28630/50000, Loss: 0.0000000555853426\n",
      "Epoch: 28640/50000, Loss: 0.0000000594208700\n",
      "Epoch: 28650/50000, Loss: 0.0000000525201145\n",
      "Epoch: 28660/50000, Loss: 0.0000000516110745\n",
      "Epoch: 28670/50000, Loss: 0.0000000504292821\n",
      "Epoch: 28680/50000, Loss: 0.0000000500160127\n",
      "Epoch: 28690/50000, Loss: 0.0000000495035337\n",
      "Epoch: 28700/50000, Loss: 0.0000000490744583\n",
      "Epoch: 28710/50000, Loss: 0.0000000486960978\n",
      "Epoch: 28720/50000, Loss: 0.0000000483435301\n",
      "Epoch: 28730/50000, Loss: 0.0000000480101683\n",
      "Epoch: 28740/50000, Loss: 0.0000000476901043\n",
      "Epoch: 28750/50000, Loss: 0.0000000473851109\n",
      "Epoch: 28760/50000, Loss: 0.0000000470913690\n",
      "Epoch: 28770/50000, Loss: 0.0000000468067967\n",
      "Epoch: 28780/50000, Loss: 0.0000000465617127\n",
      "Epoch: 28790/50000, Loss: 0.0000000482552878\n",
      "Epoch: 28800/50000, Loss: 0.0000003293227167\n",
      "Epoch: 28810/50000, Loss: 0.0000294046822091\n",
      "Epoch: 28820/50000, Loss: 0.0000018854059363\n",
      "Epoch: 28830/50000, Loss: 0.0000001810180947\n",
      "Epoch: 28840/50000, Loss: 0.0000003658955166\n",
      "Epoch: 28850/50000, Loss: 0.0000001810344799\n",
      "Epoch: 28860/50000, Loss: 0.0000001789885289\n",
      "Epoch: 28870/50000, Loss: 0.0000000858977458\n",
      "Epoch: 28880/50000, Loss: 0.0000000568152068\n",
      "Epoch: 28890/50000, Loss: 0.0000000541226868\n",
      "Epoch: 28900/50000, Loss: 0.0000000517242924\n",
      "Epoch: 28910/50000, Loss: 0.0000000503225195\n",
      "Epoch: 28920/50000, Loss: 0.0000000494945596\n",
      "Epoch: 28930/50000, Loss: 0.0000000489444574\n",
      "Epoch: 28940/50000, Loss: 0.0000000484636651\n",
      "Epoch: 28950/50000, Loss: 0.0000000480854752\n",
      "Epoch: 28960/50000, Loss: 0.0000000477279585\n",
      "Epoch: 28970/50000, Loss: 0.0000000473808726\n",
      "Epoch: 28980/50000, Loss: 0.0000000470608548\n",
      "Epoch: 28990/50000, Loss: 0.0000000467515591\n",
      "Epoch: 29000/50000, Loss: 0.0000000464569325\n",
      "Epoch: 29010/50000, Loss: 0.0000000461740690\n",
      "Epoch: 29020/50000, Loss: 0.0000000459823291\n",
      "Epoch: 29030/50000, Loss: 0.0000000458595828\n",
      "Epoch: 29040/50000, Loss: 0.0000000454392719\n",
      "Epoch: 29050/50000, Loss: 0.0000000494451058\n",
      "Epoch: 29060/50000, Loss: 0.0000008466764712\n",
      "Epoch: 29070/50000, Loss: 0.0000174386896106\n",
      "Epoch: 29080/50000, Loss: 0.0000066272632466\n",
      "Epoch: 29090/50000, Loss: 0.0000025446006475\n",
      "Epoch: 29100/50000, Loss: 0.0000007785448588\n",
      "Epoch: 29110/50000, Loss: 0.0000002930042911\n",
      "Epoch: 29120/50000, Loss: 0.0000000920200662\n",
      "Epoch: 29130/50000, Loss: 0.0000000610820479\n",
      "Epoch: 29140/50000, Loss: 0.0000000551789476\n",
      "Epoch: 29150/50000, Loss: 0.0000000550912596\n",
      "Epoch: 29160/50000, Loss: 0.0000000494581691\n",
      "Epoch: 29170/50000, Loss: 0.0000000491386523\n",
      "Epoch: 29180/50000, Loss: 0.0000000483274292\n",
      "Epoch: 29190/50000, Loss: 0.0000000479117368\n",
      "Epoch: 29200/50000, Loss: 0.0000000474504418\n",
      "Epoch: 29210/50000, Loss: 0.0000000470930104\n",
      "Epoch: 29220/50000, Loss: 0.0000000467599044\n",
      "Epoch: 29230/50000, Loss: 0.0000000464404373\n",
      "Epoch: 29240/50000, Loss: 0.0000000461444003\n",
      "Epoch: 29250/50000, Loss: 0.0000000462427501\n",
      "Epoch: 29260/50000, Loss: 0.0000000457490259\n",
      "Epoch: 29270/50000, Loss: 0.0000000453696813\n",
      "Epoch: 29280/50000, Loss: 0.0000000450506086\n",
      "Epoch: 29290/50000, Loss: 0.0000000448062458\n",
      "Epoch: 29300/50000, Loss: 0.0000000445799380\n",
      "Epoch: 29310/50000, Loss: 0.0000000455198901\n",
      "Epoch: 29320/50000, Loss: 0.0000001718338893\n",
      "Epoch: 29330/50000, Loss: 0.0000180331771844\n",
      "Epoch: 29340/50000, Loss: 0.0000051599163271\n",
      "Epoch: 29350/50000, Loss: 0.0000030432511267\n",
      "Epoch: 29360/50000, Loss: 0.0000010213135511\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 29370/50000, Loss: 0.0000002881436956\n",
      "Epoch: 29380/50000, Loss: 0.0000000753186029\n",
      "Epoch: 29390/50000, Loss: 0.0000000692817750\n",
      "Epoch: 29400/50000, Loss: 0.0000000671727847\n",
      "Epoch: 29410/50000, Loss: 0.0000000499408479\n",
      "Epoch: 29420/50000, Loss: 0.0000000502089748\n",
      "Epoch: 29430/50000, Loss: 0.0000000475628532\n",
      "Epoch: 29440/50000, Loss: 0.0000000474177924\n",
      "Epoch: 29450/50000, Loss: 0.0000000468844910\n",
      "Epoch: 29460/50000, Loss: 0.0000000464669583\n",
      "Epoch: 29470/50000, Loss: 0.0000000461422296\n",
      "Epoch: 29480/50000, Loss: 0.0000000458386360\n",
      "Epoch: 29490/50000, Loss: 0.0000000455542519\n",
      "Epoch: 29500/50000, Loss: 0.0000000453350353\n",
      "Epoch: 29510/50000, Loss: 0.0000000455709781\n",
      "Epoch: 29520/50000, Loss: 0.0000000448069208\n",
      "Epoch: 29530/50000, Loss: 0.0000000445596058\n",
      "Epoch: 29540/50000, Loss: 0.0000000443163728\n",
      "Epoch: 29550/50000, Loss: 0.0000000441791492\n",
      "Epoch: 29560/50000, Loss: 0.0000000515469409\n",
      "Epoch: 29570/50000, Loss: 0.0000011314989479\n",
      "Epoch: 29580/50000, Loss: 0.0000109104130388\n",
      "Epoch: 29590/50000, Loss: 0.0000057114420997\n",
      "Epoch: 29600/50000, Loss: 0.0000019510328002\n",
      "Epoch: 29610/50000, Loss: 0.0000002785851052\n",
      "Epoch: 29620/50000, Loss: 0.0000000621186516\n",
      "Epoch: 29630/50000, Loss: 0.0000001126884541\n",
      "Epoch: 29640/50000, Loss: 0.0000000810428915\n",
      "Epoch: 29650/50000, Loss: 0.0000000490944778\n",
      "Epoch: 29660/50000, Loss: 0.0000000509524405\n",
      "Epoch: 29670/50000, Loss: 0.0000000476965099\n",
      "Epoch: 29680/50000, Loss: 0.0000000475302642\n",
      "Epoch: 29690/50000, Loss: 0.0000000466654662\n",
      "Epoch: 29700/50000, Loss: 0.0000000462742165\n",
      "Epoch: 29710/50000, Loss: 0.0000000459571226\n",
      "Epoch: 29720/50000, Loss: 0.0000000456498306\n",
      "Epoch: 29730/50000, Loss: 0.0000000453627287\n",
      "Epoch: 29740/50000, Loss: 0.0000000450859048\n",
      "Epoch: 29750/50000, Loss: 0.0000000448285959\n",
      "Epoch: 29760/50000, Loss: 0.0000000445760335\n",
      "Epoch: 29770/50000, Loss: 0.0000000443353301\n",
      "Epoch: 29780/50000, Loss: 0.0000000441063079\n",
      "Epoch: 29790/50000, Loss: 0.0000000440195826\n",
      "Epoch: 29800/50000, Loss: 0.0000000497645480\n",
      "Epoch: 29810/50000, Loss: 0.0000006327138635\n",
      "Epoch: 29820/50000, Loss: 0.0000209367390198\n",
      "Epoch: 29830/50000, Loss: 0.0000017544641651\n",
      "Epoch: 29840/50000, Loss: 0.0000002234730800\n",
      "Epoch: 29850/50000, Loss: 0.0000006374804684\n",
      "Epoch: 29860/50000, Loss: 0.0000002377095569\n",
      "Epoch: 29870/50000, Loss: 0.0000000727822709\n",
      "Epoch: 29880/50000, Loss: 0.0000000836410692\n",
      "Epoch: 29890/50000, Loss: 0.0000000501767481\n",
      "Epoch: 29900/50000, Loss: 0.0000000515416154\n",
      "Epoch: 29910/50000, Loss: 0.0000000471496797\n",
      "Epoch: 29920/50000, Loss: 0.0000000464838124\n",
      "Epoch: 29930/50000, Loss: 0.0000000461306442\n",
      "Epoch: 29940/50000, Loss: 0.0000000457039384\n",
      "Epoch: 29950/50000, Loss: 0.0000000453512357\n",
      "Epoch: 29960/50000, Loss: 0.0000000450518804\n",
      "Epoch: 29970/50000, Loss: 0.0000000447749358\n",
      "Epoch: 29980/50000, Loss: 0.0000000445209238\n",
      "Epoch: 29990/50000, Loss: 0.0000000442706281\n",
      "Epoch: 30000/50000, Loss: 0.0000000440291892\n",
      "Epoch: 30010/50000, Loss: 0.0000000437998509\n",
      "Epoch: 30020/50000, Loss: 0.0000000436878160\n",
      "Epoch: 30030/50000, Loss: 0.0000000518634167\n",
      "Epoch: 30040/50000, Loss: 0.0000014018976344\n",
      "Epoch: 30050/50000, Loss: 0.0000059449785113\n",
      "Epoch: 30060/50000, Loss: 0.0000046406585170\n",
      "Epoch: 30070/50000, Loss: 0.0000021676980850\n",
      "Epoch: 30080/50000, Loss: 0.0000005420211551\n",
      "Epoch: 30090/50000, Loss: 0.0000001219164574\n",
      "Epoch: 30100/50000, Loss: 0.0000000775812623\n",
      "Epoch: 30110/50000, Loss: 0.0000000703212706\n",
      "Epoch: 30120/50000, Loss: 0.0000000554794255\n",
      "Epoch: 30130/50000, Loss: 0.0000000472813184\n",
      "Epoch: 30140/50000, Loss: 0.0000000480702234\n",
      "Epoch: 30150/50000, Loss: 0.0000000464996504\n",
      "Epoch: 30160/50000, Loss: 0.0000000462080756\n",
      "Epoch: 30170/50000, Loss: 0.0000000457794442\n",
      "Epoch: 30180/50000, Loss: 0.0000000454293243\n",
      "Epoch: 30190/50000, Loss: 0.0000000451356073\n",
      "Epoch: 30200/50000, Loss: 0.0000000448612205\n",
      "Epoch: 30210/50000, Loss: 0.0000000446049278\n",
      "Epoch: 30220/50000, Loss: 0.0000000443524009\n",
      "Epoch: 30230/50000, Loss: 0.0000000441108128\n",
      "Epoch: 30240/50000, Loss: 0.0000000438779288\n",
      "Epoch: 30250/50000, Loss: 0.0000000436506369\n",
      "Epoch: 30260/50000, Loss: 0.0000000434336052\n",
      "Epoch: 30270/50000, Loss: 0.0000000433254073\n",
      "Epoch: 30280/50000, Loss: 0.0000000495380235\n",
      "Epoch: 30290/50000, Loss: 0.0000008864200822\n",
      "Epoch: 30300/50000, Loss: 0.0000157020131155\n",
      "Epoch: 30310/50000, Loss: 0.0000051192168939\n",
      "Epoch: 30320/50000, Loss: 0.0000010372748420\n",
      "Epoch: 30330/50000, Loss: 0.0000002344093417\n",
      "Epoch: 30340/50000, Loss: 0.0000001584682821\n",
      "Epoch: 30350/50000, Loss: 0.0000001251464994\n",
      "Epoch: 30360/50000, Loss: 0.0000000641814495\n",
      "Epoch: 30370/50000, Loss: 0.0000000484422529\n",
      "Epoch: 30380/50000, Loss: 0.0000000505140640\n",
      "Epoch: 30390/50000, Loss: 0.0000000465517118\n",
      "Epoch: 30400/50000, Loss: 0.0000000464382630\n",
      "Epoch: 30410/50000, Loss: 0.0000000458276972\n",
      "Epoch: 30420/50000, Loss: 0.0000000453907063\n",
      "Epoch: 30430/50000, Loss: 0.0000000451043611\n",
      "Epoch: 30440/50000, Loss: 0.0000000448324045\n",
      "Epoch: 30450/50000, Loss: 0.0000000445688464\n",
      "Epoch: 30460/50000, Loss: 0.0000000443190693\n",
      "Epoch: 30470/50000, Loss: 0.0000000440777939\n",
      "Epoch: 30480/50000, Loss: 0.0000000438424905\n",
      "Epoch: 30490/50000, Loss: 0.0000000436195542\n",
      "Epoch: 30500/50000, Loss: 0.0000000433977156\n",
      "Epoch: 30510/50000, Loss: 0.0000000432627267\n",
      "Epoch: 30520/50000, Loss: 0.0000000464552130\n",
      "Epoch: 30530/50000, Loss: 0.0000003900375418\n",
      "Epoch: 30540/50000, Loss: 0.0000229970119108\n",
      "Epoch: 30550/50000, Loss: 0.0000011612925164\n",
      "Epoch: 30560/50000, Loss: 0.0000012334110124\n",
      "Epoch: 30570/50000, Loss: 0.0000007702685139\n",
      "Epoch: 30580/50000, Loss: 0.0000001733476722\n",
      "Epoch: 30590/50000, Loss: 0.0000000526532844\n",
      "Epoch: 30600/50000, Loss: 0.0000000770395232\n",
      "Epoch: 30610/50000, Loss: 0.0000000510332150\n",
      "Epoch: 30620/50000, Loss: 0.0000000501158084\n",
      "Epoch: 30630/50000, Loss: 0.0000000461620111\n",
      "Epoch: 30640/50000, Loss: 0.0000000460464555\n",
      "Epoch: 30650/50000, Loss: 0.0000000453901592\n",
      "Epoch: 30660/50000, Loss: 0.0000000449731559\n",
      "Epoch: 30670/50000, Loss: 0.0000000446843877\n",
      "Epoch: 30680/50000, Loss: 0.0000000444180195\n",
      "Epoch: 30690/50000, Loss: 0.0000000441665513\n",
      "Epoch: 30700/50000, Loss: 0.0000000439290204\n",
      "Epoch: 30710/50000, Loss: 0.0000000436963958\n",
      "Epoch: 30720/50000, Loss: 0.0000000434716192\n",
      "Epoch: 30730/50000, Loss: 0.0000000432537952\n",
      "Epoch: 30740/50000, Loss: 0.0000000430632880\n",
      "Epoch: 30750/50000, Loss: 0.0000000437931185\n",
      "Epoch: 30760/50000, Loss: 0.0000001319837963\n",
      "Epoch: 30770/50000, Loss: 0.0000128526735352\n",
      "Epoch: 30780/50000, Loss: 0.0000084106450231\n",
      "Epoch: 30790/50000, Loss: 0.0000026266950499\n",
      "Epoch: 30800/50000, Loss: 0.0000006186663200\n",
      "Epoch: 30810/50000, Loss: 0.0000001740483242\n",
      "Epoch: 30820/50000, Loss: 0.0000001293850005\n",
      "Epoch: 30830/50000, Loss: 0.0000000935770217\n",
      "Epoch: 30840/50000, Loss: 0.0000000505714866\n",
      "Epoch: 30850/50000, Loss: 0.0000000496339290\n",
      "Epoch: 30860/50000, Loss: 0.0000000468619064\n",
      "Epoch: 30870/50000, Loss: 0.0000000462151597\n",
      "Epoch: 30880/50000, Loss: 0.0000000453686724\n",
      "Epoch: 30890/50000, Loss: 0.0000000451204301\n",
      "Epoch: 30900/50000, Loss: 0.0000000448112196\n",
      "Epoch: 30910/50000, Loss: 0.0000000445171651\n",
      "Epoch: 30920/50000, Loss: 0.0000000442585275\n",
      "Epoch: 30930/50000, Loss: 0.0000000440163532\n",
      "Epoch: 30940/50000, Loss: 0.0000000437810783\n",
      "Epoch: 30950/50000, Loss: 0.0000000435574918\n",
      "Epoch: 30960/50000, Loss: 0.0000000433373160\n",
      "Epoch: 30970/50000, Loss: 0.0000000431274039\n",
      "Epoch: 30980/50000, Loss: 0.0000000429180105\n",
      "Epoch: 30990/50000, Loss: 0.0000000427176978\n",
      "Epoch: 31000/50000, Loss: 0.0000000427664339\n",
      "Epoch: 31010/50000, Loss: 0.0000000824117876\n",
      "Epoch: 31020/50000, Loss: 0.0000105926283140\n",
      "Epoch: 31030/50000, Loss: 0.0000113442365546\n",
      "Epoch: 31040/50000, Loss: 0.0000034913086893\n",
      "Epoch: 31050/50000, Loss: 0.0000014966030903\n",
      "Epoch: 31060/50000, Loss: 0.0000003665308839\n",
      "Epoch: 31070/50000, Loss: 0.0000002375212063\n",
      "Epoch: 31080/50000, Loss: 0.0000000905495128\n",
      "Epoch: 31090/50000, Loss: 0.0000000698692801\n",
      "Epoch: 31100/50000, Loss: 0.0000000525198622\n",
      "Epoch: 31110/50000, Loss: 0.0000000465735894\n",
      "Epoch: 31120/50000, Loss: 0.0000000467555807\n",
      "Epoch: 31130/50000, Loss: 0.0000000461736036\n",
      "Epoch: 31140/50000, Loss: 0.0000000454994691\n",
      "Epoch: 31150/50000, Loss: 0.0000000452033895\n",
      "Epoch: 31160/50000, Loss: 0.0000000448881181\n",
      "Epoch: 31170/50000, Loss: 0.0000000446296227\n",
      "Epoch: 31180/50000, Loss: 0.0000000443764456\n",
      "Epoch: 31190/50000, Loss: 0.0000000441346018\n",
      "Epoch: 31200/50000, Loss: 0.0000000439017001\n",
      "Epoch: 31210/50000, Loss: 0.0000000436779004\n",
      "Epoch: 31220/50000, Loss: 0.0000000434614122\n",
      "Epoch: 31230/50000, Loss: 0.0000000432473257\n",
      "Epoch: 31240/50000, Loss: 0.0000000430395453\n",
      "Epoch: 31250/50000, Loss: 0.0000000428353140\n",
      "Epoch: 31260/50000, Loss: 0.0000000426376410\n",
      "Epoch: 31270/50000, Loss: 0.0000000424438404\n",
      "Epoch: 31280/50000, Loss: 0.0000000423227462\n",
      "Epoch: 31290/50000, Loss: 0.0000000468384478\n",
      "Epoch: 31300/50000, Loss: 0.0000007427784681\n",
      "Epoch: 31310/50000, Loss: 0.0000186183006008\n",
      "Epoch: 31320/50000, Loss: 0.0000060613779169\n",
      "Epoch: 31330/50000, Loss: 0.0000017456504793\n",
      "Epoch: 31340/50000, Loss: 0.0000004978713832\n",
      "Epoch: 31350/50000, Loss: 0.0000001362949860\n",
      "Epoch: 31360/50000, Loss: 0.0000000644348432\n",
      "Epoch: 31370/50000, Loss: 0.0000000654777281\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 31380/50000, Loss: 0.0000000587179088\n",
      "Epoch: 31390/50000, Loss: 0.0000000473265978\n",
      "Epoch: 31400/50000, Loss: 0.0000000467344350\n",
      "Epoch: 31410/50000, Loss: 0.0000000459085143\n",
      "Epoch: 31420/50000, Loss: 0.0000000453661180\n",
      "Epoch: 31430/50000, Loss: 0.0000000449635174\n",
      "Epoch: 31440/50000, Loss: 0.0000000447050859\n",
      "Epoch: 31450/50000, Loss: 0.0000000444435422\n",
      "Epoch: 31460/50000, Loss: 0.0000000442003980\n",
      "Epoch: 31470/50000, Loss: 0.0000000439674679\n",
      "Epoch: 31480/50000, Loss: 0.0000000437526779\n",
      "Epoch: 31490/50000, Loss: 0.0000000435344347\n",
      "Epoch: 31500/50000, Loss: 0.0000000433256062\n",
      "Epoch: 31510/50000, Loss: 0.0000000431176019\n",
      "Epoch: 31520/50000, Loss: 0.0000000429186073\n",
      "Epoch: 31530/50000, Loss: 0.0000000427233999\n",
      "Epoch: 31540/50000, Loss: 0.0000000425368185\n",
      "Epoch: 31550/50000, Loss: 0.0000000427337845\n",
      "Epoch: 31560/50000, Loss: 0.0000000895210803\n",
      "Epoch: 31570/50000, Loss: 0.0000095942987173\n",
      "Epoch: 31580/50000, Loss: 0.0000097877691587\n",
      "Epoch: 31590/50000, Loss: 0.0000020961695100\n",
      "Epoch: 31600/50000, Loss: 0.0000009644620604\n",
      "Epoch: 31610/50000, Loss: 0.0000001521904807\n",
      "Epoch: 31620/50000, Loss: 0.0000000761647314\n",
      "Epoch: 31630/50000, Loss: 0.0000000911875944\n",
      "Epoch: 31640/50000, Loss: 0.0000000591012217\n",
      "Epoch: 31650/50000, Loss: 0.0000000474217714\n",
      "Epoch: 31660/50000, Loss: 0.0000000471425921\n",
      "Epoch: 31670/50000, Loss: 0.0000000457533069\n",
      "Epoch: 31680/50000, Loss: 0.0000000448247803\n",
      "Epoch: 31690/50000, Loss: 0.0000000443958470\n",
      "Epoch: 31700/50000, Loss: 0.0000000441387371\n",
      "Epoch: 31710/50000, Loss: 0.0000000438685284\n",
      "Epoch: 31720/50000, Loss: 0.0000000436277396\n",
      "Epoch: 31730/50000, Loss: 0.0000000434035563\n",
      "Epoch: 31740/50000, Loss: 0.0000000431881162\n",
      "Epoch: 31750/50000, Loss: 0.0000000429806377\n",
      "Epoch: 31760/50000, Loss: 0.0000000427723492\n",
      "Epoch: 31770/50000, Loss: 0.0000000425747650\n",
      "Epoch: 31780/50000, Loss: 0.0000000423787050\n",
      "Epoch: 31790/50000, Loss: 0.0000000421859667\n",
      "Epoch: 31800/50000, Loss: 0.0000000420017230\n",
      "Epoch: 31810/50000, Loss: 0.0000000419420587\n",
      "Epoch: 31820/50000, Loss: 0.0000000548957821\n",
      "Epoch: 31830/50000, Loss: 0.0000027919272725\n",
      "Epoch: 31840/50000, Loss: 0.0000016466905208\n",
      "Epoch: 31850/50000, Loss: 0.0000003551163843\n",
      "Epoch: 31860/50000, Loss: 0.0000000885311024\n",
      "Epoch: 31870/50000, Loss: 0.0000000721202795\n",
      "Epoch: 31880/50000, Loss: 0.0000000786123593\n",
      "Epoch: 31890/50000, Loss: 0.0000000696665907\n",
      "Epoch: 31900/50000, Loss: 0.0000000640158504\n",
      "Epoch: 31910/50000, Loss: 0.0000000571132652\n",
      "Epoch: 31920/50000, Loss: 0.0000000492471486\n",
      "Epoch: 31930/50000, Loss: 0.0000000458605420\n",
      "Epoch: 31940/50000, Loss: 0.0000000456684788\n",
      "Epoch: 31950/50000, Loss: 0.0000000450350726\n",
      "Epoch: 31960/50000, Loss: 0.0000000447459527\n",
      "Epoch: 31970/50000, Loss: 0.0000000444535075\n",
      "Epoch: 31980/50000, Loss: 0.0000000442023449\n",
      "Epoch: 31990/50000, Loss: 0.0000000439632650\n",
      "Epoch: 32000/50000, Loss: 0.0000000437300898\n",
      "Epoch: 32010/50000, Loss: 0.0000000435076899\n",
      "Epoch: 32020/50000, Loss: 0.0000000432885976\n",
      "Epoch: 32030/50000, Loss: 0.0000000430696296\n",
      "Epoch: 32040/50000, Loss: 0.0000000428609397\n",
      "Epoch: 32050/50000, Loss: 0.0000000426514006\n",
      "Epoch: 32060/50000, Loss: 0.0000000424478976\n",
      "Epoch: 32070/50000, Loss: 0.0000000422474677\n",
      "Epoch: 32080/50000, Loss: 0.0000000420537312\n",
      "Epoch: 32090/50000, Loss: 0.0000000426063274\n",
      "Epoch: 32100/50000, Loss: 0.0000002026931725\n",
      "Epoch: 32110/50000, Loss: 0.0000163503391377\n",
      "Epoch: 32120/50000, Loss: 0.0000054509355323\n",
      "Epoch: 32130/50000, Loss: 0.0000016128371954\n",
      "Epoch: 32140/50000, Loss: 0.0000000670724987\n",
      "Epoch: 32150/50000, Loss: 0.0000003144128584\n",
      "Epoch: 32160/50000, Loss: 0.0000001055212024\n",
      "Epoch: 32170/50000, Loss: 0.0000000658744881\n",
      "Epoch: 32180/50000, Loss: 0.0000000454379254\n",
      "Epoch: 32190/50000, Loss: 0.0000000477415192\n",
      "Epoch: 32200/50000, Loss: 0.0000000446973267\n",
      "Epoch: 32210/50000, Loss: 0.0000000436259207\n",
      "Epoch: 32220/50000, Loss: 0.0000000432396909\n",
      "Epoch: 32230/50000, Loss: 0.0000000429580602\n",
      "Epoch: 32240/50000, Loss: 0.0000000427262421\n",
      "Epoch: 32250/50000, Loss: 0.0000000425236486\n",
      "Epoch: 32260/50000, Loss: 0.0000000423274749\n",
      "Epoch: 32270/50000, Loss: 0.0000000421338271\n",
      "Epoch: 32280/50000, Loss: 0.0000000419500914\n",
      "Epoch: 32290/50000, Loss: 0.0000000417705976\n",
      "Epoch: 32300/50000, Loss: 0.0000000416883275\n",
      "Epoch: 32310/50000, Loss: 0.0000000476541011\n",
      "Epoch: 32320/50000, Loss: 0.0000008698046372\n",
      "Epoch: 32330/50000, Loss: 0.0000130280950543\n",
      "Epoch: 32340/50000, Loss: 0.0000048289466577\n",
      "Epoch: 32350/50000, Loss: 0.0000009255233522\n",
      "Epoch: 32360/50000, Loss: 0.0000001989262444\n",
      "Epoch: 32370/50000, Loss: 0.0000001590491934\n",
      "Epoch: 32380/50000, Loss: 0.0000001194754731\n",
      "Epoch: 32390/50000, Loss: 0.0000000565978162\n",
      "Epoch: 32400/50000, Loss: 0.0000000468222900\n",
      "Epoch: 32410/50000, Loss: 0.0000000474230113\n",
      "Epoch: 32420/50000, Loss: 0.0000000443063364\n",
      "Epoch: 32430/50000, Loss: 0.0000000441334471\n",
      "Epoch: 32440/50000, Loss: 0.0000000437520491\n",
      "Epoch: 32450/50000, Loss: 0.0000000433715606\n",
      "Epoch: 32460/50000, Loss: 0.0000000431190372\n",
      "Epoch: 32470/50000, Loss: 0.0000000428917595\n",
      "Epoch: 32480/50000, Loss: 0.0000000426786464\n",
      "Epoch: 32490/50000, Loss: 0.0000000424647268\n",
      "Epoch: 32500/50000, Loss: 0.0000000422617319\n",
      "Epoch: 32510/50000, Loss: 0.0000000420610569\n",
      "Epoch: 32520/50000, Loss: 0.0000000418654800\n",
      "Epoch: 32530/50000, Loss: 0.0000000416760386\n",
      "Epoch: 32540/50000, Loss: 0.0000000415079633\n",
      "Epoch: 32550/50000, Loss: 0.0000000423990372\n",
      "Epoch: 32560/50000, Loss: 0.0000001521332536\n",
      "Epoch: 32570/50000, Loss: 0.0000146848660734\n",
      "Epoch: 32580/50000, Loss: 0.0000060762713474\n",
      "Epoch: 32590/50000, Loss: 0.0000025067697607\n",
      "Epoch: 32600/50000, Loss: 0.0000006056480402\n",
      "Epoch: 32610/50000, Loss: 0.0000001669313150\n",
      "Epoch: 32620/50000, Loss: 0.0000001243458883\n",
      "Epoch: 32630/50000, Loss: 0.0000000666197906\n",
      "Epoch: 32640/50000, Loss: 0.0000000452886368\n",
      "Epoch: 32650/50000, Loss: 0.0000000477691273\n",
      "Epoch: 32660/50000, Loss: 0.0000000439158256\n",
      "Epoch: 32670/50000, Loss: 0.0000000437664305\n",
      "Epoch: 32680/50000, Loss: 0.0000000434111698\n",
      "Epoch: 32690/50000, Loss: 0.0000000430296225\n",
      "Epoch: 32700/50000, Loss: 0.0000000427685869\n",
      "Epoch: 32710/50000, Loss: 0.0000000425430109\n",
      "Epoch: 32720/50000, Loss: 0.0000000423312301\n",
      "Epoch: 32730/50000, Loss: 0.0000000421322000\n",
      "Epoch: 32740/50000, Loss: 0.0000000419318482\n",
      "Epoch: 32750/50000, Loss: 0.0000000417417496\n",
      "Epoch: 32760/50000, Loss: 0.0000000415490469\n",
      "Epoch: 32770/50000, Loss: 0.0000000413681960\n",
      "Epoch: 32780/50000, Loss: 0.0000000412738608\n",
      "Epoch: 32790/50000, Loss: 0.0000000457284273\n",
      "Epoch: 32800/50000, Loss: 0.0000005996328696\n",
      "Epoch: 32810/50000, Loss: 0.0000187009609363\n",
      "Epoch: 32820/50000, Loss: 0.0000026912603062\n",
      "Epoch: 32830/50000, Loss: 0.0000002677072644\n",
      "Epoch: 32840/50000, Loss: 0.0000002416170446\n",
      "Epoch: 32850/50000, Loss: 0.0000002163009469\n",
      "Epoch: 32860/50000, Loss: 0.0000000898759467\n",
      "Epoch: 32870/50000, Loss: 0.0000000447592008\n",
      "Epoch: 32880/50000, Loss: 0.0000000521924797\n",
      "Epoch: 32890/50000, Loss: 0.0000000441284342\n",
      "Epoch: 32900/50000, Loss: 0.0000000446467077\n",
      "Epoch: 32910/50000, Loss: 0.0000000432436487\n",
      "Epoch: 32920/50000, Loss: 0.0000000429389857\n",
      "Epoch: 32930/50000, Loss: 0.0000000426440145\n",
      "Epoch: 32940/50000, Loss: 0.0000000423923616\n",
      "Epoch: 32950/50000, Loss: 0.0000000421578328\n",
      "Epoch: 32960/50000, Loss: 0.0000000419525819\n",
      "Epoch: 32970/50000, Loss: 0.0000000417519068\n",
      "Epoch: 32980/50000, Loss: 0.0000000415597619\n",
      "Epoch: 32990/50000, Loss: 0.0000000413682990\n",
      "Epoch: 33000/50000, Loss: 0.0000000411860626\n",
      "Epoch: 33010/50000, Loss: 0.0000000410183709\n",
      "Epoch: 33020/50000, Loss: 0.0000000410987262\n",
      "Epoch: 33030/50000, Loss: 0.0000000546360930\n",
      "Epoch: 33040/50000, Loss: 0.0000015972289020\n",
      "Epoch: 33050/50000, Loss: 0.0000041747903197\n",
      "Epoch: 33060/50000, Loss: 0.0000031577669688\n",
      "Epoch: 33070/50000, Loss: 0.0000002215480635\n",
      "Epoch: 33080/50000, Loss: 0.0000002064158906\n",
      "Epoch: 33090/50000, Loss: 0.0000001878890430\n",
      "Epoch: 33100/50000, Loss: 0.0000000613856272\n",
      "Epoch: 33110/50000, Loss: 0.0000000639941433\n",
      "Epoch: 33120/50000, Loss: 0.0000000448872157\n",
      "Epoch: 33130/50000, Loss: 0.0000000447693722\n",
      "Epoch: 33140/50000, Loss: 0.0000000429727969\n",
      "Epoch: 33150/50000, Loss: 0.0000000423020659\n",
      "Epoch: 33160/50000, Loss: 0.0000000420496562\n",
      "Epoch: 33170/50000, Loss: 0.0000000417849115\n",
      "Epoch: 33180/50000, Loss: 0.0000000415779375\n",
      "Epoch: 33190/50000, Loss: 0.0000000413829397\n",
      "Epoch: 33200/50000, Loss: 0.0000000411969197\n",
      "Epoch: 33210/50000, Loss: 0.0000000410089243\n",
      "Epoch: 33220/50000, Loss: 0.0000000408299563\n",
      "Epoch: 33230/50000, Loss: 0.0000000406534859\n",
      "Epoch: 33240/50000, Loss: 0.0000000404977030\n",
      "Epoch: 33250/50000, Loss: 0.0000000410189251\n",
      "Epoch: 33260/50000, Loss: 0.0000001186231415\n",
      "Epoch: 33270/50000, Loss: 0.0000127060466184\n",
      "Epoch: 33280/50000, Loss: 0.0000074280878835\n",
      "Epoch: 33290/50000, Loss: 0.0000027504095215\n",
      "Epoch: 33300/50000, Loss: 0.0000007165596685\n",
      "Epoch: 33310/50000, Loss: 0.0000001161262304\n",
      "Epoch: 33320/50000, Loss: 0.0000000505838571\n",
      "Epoch: 33330/50000, Loss: 0.0000000696894134\n",
      "Epoch: 33340/50000, Loss: 0.0000000578066377\n",
      "Epoch: 33350/50000, Loss: 0.0000000462341703\n",
      "Epoch: 33360/50000, Loss: 0.0000000452207587\n",
      "Epoch: 33370/50000, Loss: 0.0000000431463576\n",
      "Epoch: 33380/50000, Loss: 0.0000000428094999\n",
      "Epoch: 33390/50000, Loss: 0.0000000424088356\n",
      "Epoch: 33400/50000, Loss: 0.0000000421783213\n",
      "Epoch: 33410/50000, Loss: 0.0000000419542019\n",
      "Epoch: 33420/50000, Loss: 0.0000000417410071\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 33430/50000, Loss: 0.0000000415405630\n",
      "Epoch: 33440/50000, Loss: 0.0000000413506669\n",
      "Epoch: 33450/50000, Loss: 0.0000000411642276\n",
      "Epoch: 33460/50000, Loss: 0.0000000409830321\n",
      "Epoch: 33470/50000, Loss: 0.0000000408051228\n",
      "Epoch: 33480/50000, Loss: 0.0000000406365537\n",
      "Epoch: 33490/50000, Loss: 0.0000000404665492\n",
      "Epoch: 33500/50000, Loss: 0.0000000403337665\n",
      "Epoch: 33510/50000, Loss: 0.0000000417486774\n",
      "Epoch: 33520/50000, Loss: 0.0000002120782199\n",
      "Epoch: 33530/50000, Loss: 0.0000189089714695\n",
      "Epoch: 33540/50000, Loss: 0.0000012945005210\n",
      "Epoch: 33550/50000, Loss: 0.0000007546358347\n",
      "Epoch: 33560/50000, Loss: 0.0000001944992647\n",
      "Epoch: 33570/50000, Loss: 0.0000000560529152\n",
      "Epoch: 33580/50000, Loss: 0.0000000431576375\n",
      "Epoch: 33590/50000, Loss: 0.0000000420455954\n",
      "Epoch: 33600/50000, Loss: 0.0000000414003054\n",
      "Epoch: 33610/50000, Loss: 0.0000000414187831\n",
      "Epoch: 33620/50000, Loss: 0.0000000414442347\n",
      "Epoch: 33630/50000, Loss: 0.0000000410139585\n",
      "Epoch: 33640/50000, Loss: 0.0000000403953990\n",
      "Epoch: 33650/50000, Loss: 0.0000000400523739\n",
      "Epoch: 33660/50000, Loss: 0.0000000399171576\n",
      "Epoch: 33670/50000, Loss: 0.0000000397451103\n",
      "Epoch: 33680/50000, Loss: 0.0000000395946032\n",
      "Epoch: 33690/50000, Loss: 0.0000000394799713\n",
      "Epoch: 33700/50000, Loss: 0.0000000417458637\n",
      "Epoch: 33710/50000, Loss: 0.0000004740934401\n",
      "Epoch: 33720/50000, Loss: 0.0000048667848205\n",
      "Epoch: 33730/50000, Loss: 0.0000004300766818\n",
      "Epoch: 33740/50000, Loss: 0.0000001220098085\n",
      "Epoch: 33750/50000, Loss: 0.0000002151278125\n",
      "Epoch: 33760/50000, Loss: 0.0000001299978862\n",
      "Epoch: 33770/50000, Loss: 0.0000000715058661\n",
      "Epoch: 33780/50000, Loss: 0.0000000520923891\n",
      "Epoch: 33790/50000, Loss: 0.0000000454690152\n",
      "Epoch: 33800/50000, Loss: 0.0000000414653840\n",
      "Epoch: 33810/50000, Loss: 0.0000000402094926\n",
      "Epoch: 33820/50000, Loss: 0.0000000399691267\n",
      "Epoch: 33830/50000, Loss: 0.0000000400871087\n",
      "Epoch: 33840/50000, Loss: 0.0000000421217372\n",
      "Epoch: 33850/50000, Loss: 0.0000000931981958\n",
      "Epoch: 33860/50000, Loss: 0.0000025312892831\n",
      "Epoch: 33870/50000, Loss: 0.0000006766734941\n",
      "Epoch: 33880/50000, Loss: 0.0000017987968022\n",
      "Epoch: 33890/50000, Loss: 0.0000004415260264\n",
      "Epoch: 33900/50000, Loss: 0.0000001459105476\n",
      "Epoch: 33910/50000, Loss: 0.0000001550756394\n",
      "Epoch: 33920/50000, Loss: 0.0000000501813595\n",
      "Epoch: 33930/50000, Loss: 0.0000000431119460\n",
      "Epoch: 33940/50000, Loss: 0.0000000416753778\n",
      "Epoch: 33950/50000, Loss: 0.0000000409369001\n",
      "Epoch: 33960/50000, Loss: 0.0000000399605042\n",
      "Epoch: 33970/50000, Loss: 0.0000000397266255\n",
      "Epoch: 33980/50000, Loss: 0.0000000396656752\n",
      "Epoch: 33990/50000, Loss: 0.0000000393380688\n",
      "Epoch: 34000/50000, Loss: 0.0000000391916330\n",
      "Epoch: 34010/50000, Loss: 0.0000000391799766\n",
      "Epoch: 34020/50000, Loss: 0.0000000421670094\n",
      "Epoch: 34030/50000, Loss: 0.0000002184533514\n",
      "Epoch: 34040/50000, Loss: 0.0000121105395010\n",
      "Epoch: 34050/50000, Loss: 0.0000047453486332\n",
      "Epoch: 34060/50000, Loss: 0.0000011283157164\n",
      "Epoch: 34070/50000, Loss: 0.0000006884137065\n",
      "Epoch: 34080/50000, Loss: 0.0000001609883782\n",
      "Epoch: 34090/50000, Loss: 0.0000001086416077\n",
      "Epoch: 34100/50000, Loss: 0.0000000469254431\n",
      "Epoch: 34110/50000, Loss: 0.0000000421017035\n",
      "Epoch: 34120/50000, Loss: 0.0000000434064873\n",
      "Epoch: 34130/50000, Loss: 0.0000000418113686\n",
      "Epoch: 34140/50000, Loss: 0.0000000403191791\n",
      "Epoch: 34150/50000, Loss: 0.0000000400066895\n",
      "Epoch: 34160/50000, Loss: 0.0000000396445685\n",
      "Epoch: 34170/50000, Loss: 0.0000000394718533\n",
      "Epoch: 34180/50000, Loss: 0.0000000393001081\n",
      "Epoch: 34190/50000, Loss: 0.0000000391457249\n",
      "Epoch: 34200/50000, Loss: 0.0000000390309296\n",
      "Epoch: 34210/50000, Loss: 0.0000000395086026\n",
      "Epoch: 34220/50000, Loss: 0.0000000659886226\n",
      "Epoch: 34230/50000, Loss: 0.0000023811069241\n",
      "Epoch: 34240/50000, Loss: 0.0000006157428061\n",
      "Epoch: 34250/50000, Loss: 0.0000027652135941\n",
      "Epoch: 34260/50000, Loss: 0.0000010340357903\n",
      "Epoch: 34270/50000, Loss: 0.0000001922428510\n",
      "Epoch: 34280/50000, Loss: 0.0000000438458478\n",
      "Epoch: 34290/50000, Loss: 0.0000000577357753\n",
      "Epoch: 34300/50000, Loss: 0.0000000569058898\n",
      "Epoch: 34310/50000, Loss: 0.0000000410052792\n",
      "Epoch: 34320/50000, Loss: 0.0000000396414315\n",
      "Epoch: 34330/50000, Loss: 0.0000000392716437\n",
      "Epoch: 34340/50000, Loss: 0.0000000385439876\n",
      "Epoch: 34350/50000, Loss: 0.0000000383675527\n",
      "Epoch: 34360/50000, Loss: 0.0000000382297216\n",
      "Epoch: 34370/50000, Loss: 0.0000000380818257\n",
      "Epoch: 34380/50000, Loss: 0.0000000383450569\n",
      "Epoch: 34390/50000, Loss: 0.0000000627004866\n",
      "Epoch: 34400/50000, Loss: 0.0000028090059914\n",
      "Epoch: 34410/50000, Loss: 0.0000016738813429\n",
      "Epoch: 34420/50000, Loss: 0.0000007252606906\n",
      "Epoch: 34430/50000, Loss: 0.0000004485671923\n",
      "Epoch: 34440/50000, Loss: 0.0000002147946105\n",
      "Epoch: 34450/50000, Loss: 0.0000000983051009\n",
      "Epoch: 34460/50000, Loss: 0.0000000599639733\n",
      "Epoch: 34470/50000, Loss: 0.0000000468433186\n",
      "Epoch: 34480/50000, Loss: 0.0000000396937132\n",
      "Epoch: 34490/50000, Loss: 0.0000000397339406\n",
      "Epoch: 34500/50000, Loss: 0.0000000383455294\n",
      "Epoch: 34510/50000, Loss: 0.0000000384679240\n",
      "Epoch: 34520/50000, Loss: 0.0000000415987493\n",
      "Epoch: 34530/50000, Loss: 0.0000001248961183\n",
      "Epoch: 34540/50000, Loss: 0.0000042440024117\n",
      "Epoch: 34550/50000, Loss: 0.0000008254735917\n",
      "Epoch: 34560/50000, Loss: 0.0000021221428597\n",
      "Epoch: 34570/50000, Loss: 0.0000000741749417\n",
      "Epoch: 34580/50000, Loss: 0.0000002812375897\n",
      "Epoch: 34590/50000, Loss: 0.0000000824510380\n",
      "Epoch: 34600/50000, Loss: 0.0000000437522658\n",
      "Epoch: 34610/50000, Loss: 0.0000000476505093\n",
      "Epoch: 34620/50000, Loss: 0.0000000435287646\n",
      "Epoch: 34630/50000, Loss: 0.0000000401049860\n",
      "Epoch: 34640/50000, Loss: 0.0000000387385555\n",
      "Epoch: 34650/50000, Loss: 0.0000000381200955\n",
      "Epoch: 34660/50000, Loss: 0.0000000380213621\n",
      "Epoch: 34670/50000, Loss: 0.0000000378106897\n",
      "Epoch: 34680/50000, Loss: 0.0000000377315210\n",
      "Epoch: 34690/50000, Loss: 0.0000000379069611\n",
      "Epoch: 34700/50000, Loss: 0.0000000452216007\n",
      "Epoch: 34710/50000, Loss: 0.0000004596948600\n",
      "Epoch: 34720/50000, Loss: 0.0000135035879794\n",
      "Epoch: 34730/50000, Loss: 0.0000015162089539\n",
      "Epoch: 34740/50000, Loss: 0.0000002706719897\n",
      "Epoch: 34750/50000, Loss: 0.0000002684276694\n",
      "Epoch: 34760/50000, Loss: 0.0000000854061426\n",
      "Epoch: 34770/50000, Loss: 0.0000000567545797\n",
      "Epoch: 34780/50000, Loss: 0.0000000528655058\n",
      "Epoch: 34790/50000, Loss: 0.0000000467775401\n",
      "Epoch: 34800/50000, Loss: 0.0000000411889083\n",
      "Epoch: 34810/50000, Loss: 0.0000000386356938\n",
      "Epoch: 34820/50000, Loss: 0.0000000384117769\n",
      "Epoch: 34830/50000, Loss: 0.0000000382094392\n",
      "Epoch: 34840/50000, Loss: 0.0000000379310237\n",
      "Epoch: 34850/50000, Loss: 0.0000000378005396\n",
      "Epoch: 34860/50000, Loss: 0.0000000377413798\n",
      "Epoch: 34870/50000, Loss: 0.0000000392999766\n",
      "Epoch: 34880/50000, Loss: 0.0000001158630525\n",
      "Epoch: 34890/50000, Loss: 0.0000059398735175\n",
      "Epoch: 34900/50000, Loss: 0.0000039918199946\n",
      "Epoch: 34910/50000, Loss: 0.0000004896888299\n",
      "Epoch: 34920/50000, Loss: 0.0000004130801585\n",
      "Epoch: 34930/50000, Loss: 0.0000002892757891\n",
      "Epoch: 34940/50000, Loss: 0.0000000996598004\n",
      "Epoch: 34950/50000, Loss: 0.0000000393531856\n",
      "Epoch: 34960/50000, Loss: 0.0000000424452971\n",
      "Epoch: 34970/50000, Loss: 0.0000000410712744\n",
      "Epoch: 34980/50000, Loss: 0.0000000371035078\n",
      "Epoch: 34990/50000, Loss: 0.0000000374928781\n",
      "Epoch: 35000/50000, Loss: 0.0000000368365924\n",
      "Epoch: 35010/50000, Loss: 0.0000000367508441\n",
      "Epoch: 35020/50000, Loss: 0.0000000366116275\n",
      "Epoch: 35030/50000, Loss: 0.0000000364809480\n",
      "Epoch: 35040/50000, Loss: 0.0000000363879913\n",
      "Epoch: 35050/50000, Loss: 0.0000000368738746\n",
      "Epoch: 35060/50000, Loss: 0.0000000851875939\n",
      "Epoch: 35070/50000, Loss: 0.0000063296020016\n",
      "Epoch: 35080/50000, Loss: 0.0000037326558413\n",
      "Epoch: 35090/50000, Loss: 0.0000012138945067\n",
      "Epoch: 35100/50000, Loss: 0.0000005188470595\n",
      "Epoch: 35110/50000, Loss: 0.0000000898642654\n",
      "Epoch: 35120/50000, Loss: 0.0000000812201293\n",
      "Epoch: 35130/50000, Loss: 0.0000000483816400\n",
      "Epoch: 35140/50000, Loss: 0.0000000382864371\n",
      "Epoch: 35150/50000, Loss: 0.0000000398709474\n",
      "Epoch: 35160/50000, Loss: 0.0000000387112031\n",
      "Epoch: 35170/50000, Loss: 0.0000000377068332\n",
      "Epoch: 35180/50000, Loss: 0.0000000371156723\n",
      "Epoch: 35190/50000, Loss: 0.0000000368061848\n",
      "Epoch: 35200/50000, Loss: 0.0000000366312918\n",
      "Epoch: 35210/50000, Loss: 0.0000000364878439\n",
      "Epoch: 35220/50000, Loss: 0.0000000363627848\n",
      "Epoch: 35230/50000, Loss: 0.0000000362462664\n",
      "Epoch: 35240/50000, Loss: 0.0000000361675063\n",
      "Epoch: 35250/50000, Loss: 0.0000000369852593\n",
      "Epoch: 35260/50000, Loss: 0.0000000942612601\n",
      "Epoch: 35270/50000, Loss: 0.0000062134713517\n",
      "Epoch: 35280/50000, Loss: 0.0000062267440626\n",
      "Epoch: 35290/50000, Loss: 0.0000001317843470\n",
      "Epoch: 35300/50000, Loss: 0.0000003252893350\n",
      "Epoch: 35310/50000, Loss: 0.0000003648069082\n",
      "Epoch: 35320/50000, Loss: 0.0000001110511221\n",
      "Epoch: 35330/50000, Loss: 0.0000000427664091\n",
      "Epoch: 35340/50000, Loss: 0.0000000541035838\n",
      "Epoch: 35350/50000, Loss: 0.0000000375291158\n",
      "Epoch: 35360/50000, Loss: 0.0000000390418649\n",
      "Epoch: 35370/50000, Loss: 0.0000000373516507\n",
      "Epoch: 35380/50000, Loss: 0.0000000367838950\n",
      "Epoch: 35390/50000, Loss: 0.0000000366731534\n",
      "Epoch: 35400/50000, Loss: 0.0000000365194310\n",
      "Epoch: 35410/50000, Loss: 0.0000000363715351\n",
      "Epoch: 35420/50000, Loss: 0.0000000362392463\n",
      "Epoch: 35430/50000, Loss: 0.0000000361159316\n",
      "Epoch: 35440/50000, Loss: 0.0000000360009871\n",
      "Epoch: 35450/50000, Loss: 0.0000000358875631\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 35460/50000, Loss: 0.0000000357764520\n",
      "Epoch: 35470/50000, Loss: 0.0000000356953755\n",
      "Epoch: 35480/50000, Loss: 0.0000000371254885\n",
      "Epoch: 35490/50000, Loss: 0.0000002374277273\n",
      "Epoch: 35500/50000, Loss: 0.0000080505351434\n",
      "Epoch: 35510/50000, Loss: 0.0000040252753024\n",
      "Epoch: 35520/50000, Loss: 0.0000014722024844\n",
      "Epoch: 35530/50000, Loss: 0.0000002932544589\n",
      "Epoch: 35540/50000, Loss: 0.0000002629656137\n",
      "Epoch: 35550/50000, Loss: 0.0000000819652470\n",
      "Epoch: 35560/50000, Loss: 0.0000000526888471\n",
      "Epoch: 35570/50000, Loss: 0.0000000444017978\n",
      "Epoch: 35580/50000, Loss: 0.0000000386236181\n",
      "Epoch: 35590/50000, Loss: 0.0000000367205537\n",
      "Epoch: 35600/50000, Loss: 0.0000000360827883\n",
      "Epoch: 35610/50000, Loss: 0.0000000358636214\n",
      "Epoch: 35620/50000, Loss: 0.0000000357816567\n",
      "Epoch: 35630/50000, Loss: 0.0000000355661669\n",
      "Epoch: 35640/50000, Loss: 0.0000000354619658\n",
      "Epoch: 35650/50000, Loss: 0.0000000354168037\n",
      "Epoch: 35660/50000, Loss: 0.0000000367284869\n",
      "Epoch: 35670/50000, Loss: 0.0000001002359653\n",
      "Epoch: 35680/50000, Loss: 0.0000051491724662\n",
      "Epoch: 35690/50000, Loss: 0.0000035588393530\n",
      "Epoch: 35700/50000, Loss: 0.0000005834473313\n",
      "Epoch: 35710/50000, Loss: 0.0000008801407603\n",
      "Epoch: 35720/50000, Loss: 0.0000000717898700\n",
      "Epoch: 35730/50000, Loss: 0.0000001173344373\n",
      "Epoch: 35740/50000, Loss: 0.0000000455811993\n",
      "Epoch: 35750/50000, Loss: 0.0000000502556716\n",
      "Epoch: 35760/50000, Loss: 0.0000000365938924\n",
      "Epoch: 35770/50000, Loss: 0.0000000361426515\n",
      "Epoch: 35780/50000, Loss: 0.0000000360667691\n",
      "Epoch: 35790/50000, Loss: 0.0000000356549670\n",
      "Epoch: 35800/50000, Loss: 0.0000000353628096\n",
      "Epoch: 35810/50000, Loss: 0.0000000351696841\n",
      "Epoch: 35820/50000, Loss: 0.0000000350336293\n",
      "Epoch: 35830/50000, Loss: 0.0000000349367397\n",
      "Epoch: 35840/50000, Loss: 0.0000000348182780\n",
      "Epoch: 35850/50000, Loss: 0.0000000347138460\n",
      "Epoch: 35860/50000, Loss: 0.0000000346096449\n",
      "Epoch: 35870/50000, Loss: 0.0000000345525848\n",
      "Epoch: 35880/50000, Loss: 0.0000000370406710\n",
      "Epoch: 35890/50000, Loss: 0.0000003863605684\n",
      "Epoch: 35900/50000, Loss: 0.0000202791889024\n",
      "Epoch: 35910/50000, Loss: 0.0000026030354547\n",
      "Epoch: 35920/50000, Loss: 0.0000006327807114\n",
      "Epoch: 35930/50000, Loss: 0.0000002150508607\n",
      "Epoch: 35940/50000, Loss: 0.0000001123443099\n",
      "Epoch: 35950/50000, Loss: 0.0000000647115002\n",
      "Epoch: 35960/50000, Loss: 0.0000000437540315\n",
      "Epoch: 35970/50000, Loss: 0.0000000374084586\n",
      "Epoch: 35980/50000, Loss: 0.0000000371352549\n",
      "Epoch: 35990/50000, Loss: 0.0000000374567506\n",
      "Epoch: 36000/50000, Loss: 0.0000000366152229\n",
      "Epoch: 36010/50000, Loss: 0.0000000359682417\n",
      "Epoch: 36020/50000, Loss: 0.0000000358747734\n",
      "Epoch: 36030/50000, Loss: 0.0000000356629712\n",
      "Epoch: 36040/50000, Loss: 0.0000000355306433\n",
      "Epoch: 36050/50000, Loss: 0.0000000353887835\n",
      "Epoch: 36060/50000, Loss: 0.0000000352623957\n",
      "Epoch: 36070/50000, Loss: 0.0000000351400367\n",
      "Epoch: 36080/50000, Loss: 0.0000000350203138\n",
      "Epoch: 36090/50000, Loss: 0.0000000349104461\n",
      "Epoch: 36100/50000, Loss: 0.0000000348376261\n",
      "Epoch: 36110/50000, Loss: 0.0000000362952761\n",
      "Epoch: 36120/50000, Loss: 0.0000001655208024\n",
      "Epoch: 36130/50000, Loss: 0.0000094542065199\n",
      "Epoch: 36140/50000, Loss: 0.0000011960619304\n",
      "Epoch: 36150/50000, Loss: 0.0000007275065173\n",
      "Epoch: 36160/50000, Loss: 0.0000002262622445\n",
      "Epoch: 36170/50000, Loss: 0.0000000855508091\n",
      "Epoch: 36180/50000, Loss: 0.0000000548354429\n",
      "Epoch: 36190/50000, Loss: 0.0000000472452868\n",
      "Epoch: 36200/50000, Loss: 0.0000000418855635\n",
      "Epoch: 36210/50000, Loss: 0.0000000363648027\n",
      "Epoch: 36220/50000, Loss: 0.0000000340850370\n",
      "Epoch: 36230/50000, Loss: 0.0000000338757360\n",
      "Epoch: 36240/50000, Loss: 0.0000000339073054\n",
      "Epoch: 36250/50000, Loss: 0.0000000354145158\n",
      "Epoch: 36260/50000, Loss: 0.0000000913935168\n",
      "Epoch: 36270/50000, Loss: 0.0000036311005260\n",
      "Epoch: 36280/50000, Loss: 0.0000008634580126\n",
      "Epoch: 36290/50000, Loss: 0.0000020081631646\n",
      "Epoch: 36300/50000, Loss: 0.0000002598347351\n",
      "Epoch: 36310/50000, Loss: 0.0000002326600281\n",
      "Epoch: 36320/50000, Loss: 0.0000000606363670\n",
      "Epoch: 36330/50000, Loss: 0.0000000733018766\n",
      "Epoch: 36340/50000, Loss: 0.0000000369395785\n",
      "Epoch: 36350/50000, Loss: 0.0000000347388358\n",
      "Epoch: 36360/50000, Loss: 0.0000000350542351\n",
      "Epoch: 36370/50000, Loss: 0.0000000344267903\n",
      "Epoch: 36380/50000, Loss: 0.0000000339475648\n",
      "Epoch: 36390/50000, Loss: 0.0000000337082895\n",
      "Epoch: 36400/50000, Loss: 0.0000000336300232\n",
      "Epoch: 36410/50000, Loss: 0.0000000335027934\n",
      "Epoch: 36420/50000, Loss: 0.0000000334129773\n",
      "Epoch: 36430/50000, Loss: 0.0000000333466055\n",
      "Epoch: 36440/50000, Loss: 0.0000000338130377\n",
      "Epoch: 36450/50000, Loss: 0.0000000550491492\n",
      "Epoch: 36460/50000, Loss: 0.0000017222862425\n",
      "Epoch: 36470/50000, Loss: 0.0000014902980183\n",
      "Epoch: 36480/50000, Loss: 0.0000027729001886\n",
      "Epoch: 36490/50000, Loss: 0.0000005563948662\n",
      "Epoch: 36500/50000, Loss: 0.0000000554722881\n",
      "Epoch: 36510/50000, Loss: 0.0000000659012684\n",
      "Epoch: 36520/50000, Loss: 0.0000000718204660\n",
      "Epoch: 36530/50000, Loss: 0.0000000482278431\n",
      "Epoch: 36540/50000, Loss: 0.0000000346602107\n",
      "Epoch: 36550/50000, Loss: 0.0000000363374042\n",
      "Epoch: 36560/50000, Loss: 0.0000000342940218\n",
      "Epoch: 36570/50000, Loss: 0.0000000343623796\n",
      "Epoch: 36580/50000, Loss: 0.0000000339402995\n",
      "Epoch: 36590/50000, Loss: 0.0000000338027419\n",
      "Epoch: 36600/50000, Loss: 0.0000000336815482\n",
      "Epoch: 36610/50000, Loss: 0.0000000335626034\n",
      "Epoch: 36620/50000, Loss: 0.0000000334619941\n",
      "Epoch: 36630/50000, Loss: 0.0000000340841702\n",
      "Epoch: 36640/50000, Loss: 0.0000001011486219\n",
      "Epoch: 36650/50000, Loss: 0.0000082472670329\n",
      "Epoch: 36660/50000, Loss: 0.0000044388534661\n",
      "Epoch: 36670/50000, Loss: 0.0000019063749050\n",
      "Epoch: 36680/50000, Loss: 0.0000006140331834\n",
      "Epoch: 36690/50000, Loss: 0.0000001928594457\n",
      "Epoch: 36700/50000, Loss: 0.0000000797563615\n",
      "Epoch: 36710/50000, Loss: 0.0000000499372277\n",
      "Epoch: 36720/50000, Loss: 0.0000000406056166\n",
      "Epoch: 36730/50000, Loss: 0.0000000362557415\n",
      "Epoch: 36740/50000, Loss: 0.0000000336304495\n",
      "Epoch: 36750/50000, Loss: 0.0000000324443334\n",
      "Epoch: 36760/50000, Loss: 0.0000000322077334\n",
      "Epoch: 36770/50000, Loss: 0.0000000321521085\n",
      "Epoch: 36780/50000, Loss: 0.0000000320370752\n",
      "Epoch: 36790/50000, Loss: 0.0000000326182104\n",
      "Epoch: 36800/50000, Loss: 0.0000000636579500\n",
      "Epoch: 36810/50000, Loss: 0.0000028590966394\n",
      "Epoch: 36820/50000, Loss: 0.0000006678645832\n",
      "Epoch: 36830/50000, Loss: 0.0000022429210276\n",
      "Epoch: 36840/50000, Loss: 0.0000003711118097\n",
      "Epoch: 36850/50000, Loss: 0.0000001699140739\n",
      "Epoch: 36860/50000, Loss: 0.0000000940166913\n",
      "Epoch: 36870/50000, Loss: 0.0000000538959561\n",
      "Epoch: 36880/50000, Loss: 0.0000000360335051\n",
      "Epoch: 36890/50000, Loss: 0.0000000379674461\n",
      "Epoch: 36900/50000, Loss: 0.0000000343294850\n",
      "Epoch: 36910/50000, Loss: 0.0000000330218164\n",
      "Epoch: 36920/50000, Loss: 0.0000000325585710\n",
      "Epoch: 36930/50000, Loss: 0.0000000323890248\n",
      "Epoch: 36940/50000, Loss: 0.0000000322266089\n",
      "Epoch: 36950/50000, Loss: 0.0000000320916342\n",
      "Epoch: 36960/50000, Loss: 0.0000000320005817\n",
      "Epoch: 36970/50000, Loss: 0.0000000318915916\n",
      "Epoch: 36980/50000, Loss: 0.0000000318043689\n",
      "Epoch: 36990/50000, Loss: 0.0000000318337818\n",
      "Epoch: 37000/50000, Loss: 0.0000000374723683\n",
      "Epoch: 37010/50000, Loss: 0.0000006158794577\n",
      "Epoch: 37020/50000, Loss: 0.0000120604818221\n",
      "Epoch: 37030/50000, Loss: 0.0000022896560949\n",
      "Epoch: 37040/50000, Loss: 0.0000007787284630\n",
      "Epoch: 37050/50000, Loss: 0.0000002613104755\n",
      "Epoch: 37060/50000, Loss: 0.0000001066248174\n",
      "Epoch: 37070/50000, Loss: 0.0000000620529761\n",
      "Epoch: 37080/50000, Loss: 0.0000000415069046\n",
      "Epoch: 37090/50000, Loss: 0.0000000334586687\n",
      "Epoch: 37100/50000, Loss: 0.0000000339128654\n",
      "Epoch: 37110/50000, Loss: 0.0000000339254775\n",
      "Epoch: 37120/50000, Loss: 0.0000000329926984\n",
      "Epoch: 37130/50000, Loss: 0.0000000326433955\n",
      "Epoch: 37140/50000, Loss: 0.0000000325176508\n",
      "Epoch: 37150/50000, Loss: 0.0000000323494582\n",
      "Epoch: 37160/50000, Loss: 0.0000000322374980\n",
      "Epoch: 37170/50000, Loss: 0.0000000321256195\n",
      "Epoch: 37180/50000, Loss: 0.0000000320161249\n",
      "Epoch: 37190/50000, Loss: 0.0000000319126734\n",
      "Epoch: 37200/50000, Loss: 0.0000000318289395\n",
      "Epoch: 37210/50000, Loss: 0.0000000326619656\n",
      "Epoch: 37220/50000, Loss: 0.0000001312884592\n",
      "Epoch: 37230/50000, Loss: 0.0000118028137877\n",
      "Epoch: 37240/50000, Loss: 0.0000025584970444\n",
      "Epoch: 37250/50000, Loss: 0.0000014058930446\n",
      "Epoch: 37260/50000, Loss: 0.0000004228301691\n",
      "Epoch: 37270/50000, Loss: 0.0000001313099318\n",
      "Epoch: 37280/50000, Loss: 0.0000000622300220\n",
      "Epoch: 37290/50000, Loss: 0.0000000440442989\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 37300/50000, Loss: 0.0000000381479488\n",
      "Epoch: 37310/50000, Loss: 0.0000000348143665\n",
      "Epoch: 37320/50000, Loss: 0.0000000322975140\n",
      "Epoch: 37330/50000, Loss: 0.0000000309917318\n",
      "Epoch: 37340/50000, Loss: 0.0000000307817132\n",
      "Epoch: 37350/50000, Loss: 0.0000000307231218\n",
      "Epoch: 37360/50000, Loss: 0.0000000305749026\n",
      "Epoch: 37370/50000, Loss: 0.0000000305494297\n",
      "Epoch: 37380/50000, Loss: 0.0000000320032818\n",
      "Epoch: 37390/50000, Loss: 0.0000001454711196\n",
      "Epoch: 37400/50000, Loss: 0.0000088279803094\n",
      "Epoch: 37410/50000, Loss: 0.0000036416872717\n",
      "Epoch: 37420/50000, Loss: 0.0000000457612934\n",
      "Epoch: 37430/50000, Loss: 0.0000004027620832\n",
      "Epoch: 37440/50000, Loss: 0.0000000675079406\n",
      "Epoch: 37450/50000, Loss: 0.0000000693616542\n",
      "Epoch: 37460/50000, Loss: 0.0000000559992586\n",
      "Epoch: 37470/50000, Loss: 0.0000000359199746\n",
      "Epoch: 37480/50000, Loss: 0.0000000318175282\n",
      "Epoch: 37490/50000, Loss: 0.0000000314925153\n",
      "Epoch: 37500/50000, Loss: 0.0000000310645945\n",
      "Epoch: 37510/50000, Loss: 0.0000000309649515\n",
      "Epoch: 37520/50000, Loss: 0.0000000306969525\n",
      "Epoch: 37530/50000, Loss: 0.0000000306062375\n",
      "Epoch: 37540/50000, Loss: 0.0000000304879428\n",
      "Epoch: 37550/50000, Loss: 0.0000000303967767\n",
      "Epoch: 37560/50000, Loss: 0.0000000303509609\n",
      "Epoch: 37570/50000, Loss: 0.0000000324017897\n",
      "Epoch: 37580/50000, Loss: 0.0000002571828759\n",
      "Epoch: 37590/50000, Loss: 0.0000173366443050\n",
      "Epoch: 37600/50000, Loss: 0.0000005437710229\n",
      "Epoch: 37610/50000, Loss: 0.0000005752594916\n",
      "Epoch: 37620/50000, Loss: 0.0000001782528329\n",
      "Epoch: 37630/50000, Loss: 0.0000000534474296\n",
      "Epoch: 37640/50000, Loss: 0.0000000550932882\n",
      "Epoch: 37650/50000, Loss: 0.0000000384639165\n",
      "Epoch: 37660/50000, Loss: 0.0000000390777259\n",
      "Epoch: 37670/50000, Loss: 0.0000000350786813\n",
      "Epoch: 37680/50000, Loss: 0.0000000322033280\n",
      "Epoch: 37690/50000, Loss: 0.0000000313933270\n",
      "Epoch: 37700/50000, Loss: 0.0000000313641770\n",
      "Epoch: 37710/50000, Loss: 0.0000000310933750\n",
      "Epoch: 37720/50000, Loss: 0.0000000309805372\n",
      "Epoch: 37730/50000, Loss: 0.0000000308526218\n",
      "Epoch: 37740/50000, Loss: 0.0000000307503782\n",
      "Epoch: 37750/50000, Loss: 0.0000000306489270\n",
      "Epoch: 37760/50000, Loss: 0.0000000305476036\n",
      "Epoch: 37770/50000, Loss: 0.0000000304559187\n",
      "Epoch: 37780/50000, Loss: 0.0000000303623011\n",
      "Epoch: 37790/50000, Loss: 0.0000000302820879\n",
      "Epoch: 37800/50000, Loss: 0.0000000307552703\n",
      "Epoch: 37810/50000, Loss: 0.0000001000647245\n",
      "Epoch: 37820/50000, Loss: 0.0000106303405119\n",
      "Epoch: 37830/50000, Loss: 0.0000031158081129\n",
      "Epoch: 37840/50000, Loss: 0.0000012309337762\n",
      "Epoch: 37850/50000, Loss: 0.0000001858508796\n",
      "Epoch: 37860/50000, Loss: 0.0000000333961303\n",
      "Epoch: 37870/50000, Loss: 0.0000000407798275\n",
      "Epoch: 37880/50000, Loss: 0.0000000391179071\n",
      "Epoch: 37890/50000, Loss: 0.0000000336620545\n",
      "Epoch: 37900/50000, Loss: 0.0000000306403756\n",
      "Epoch: 37910/50000, Loss: 0.0000000296681382\n",
      "Epoch: 37920/50000, Loss: 0.0000000295481328\n",
      "Epoch: 37930/50000, Loss: 0.0000000295256886\n",
      "Epoch: 37940/50000, Loss: 0.0000000293773610\n",
      "Epoch: 37950/50000, Loss: 0.0000000292266655\n",
      "Epoch: 37960/50000, Loss: 0.0000000291560553\n",
      "Epoch: 37970/50000, Loss: 0.0000000293051361\n",
      "Epoch: 37980/50000, Loss: 0.0000000501683708\n",
      "Epoch: 37990/50000, Loss: 0.0000034511431295\n",
      "Epoch: 38000/50000, Loss: 0.0000026511413580\n",
      "Epoch: 38010/50000, Loss: 0.0000011096175285\n",
      "Epoch: 38020/50000, Loss: 0.0000006670065886\n",
      "Epoch: 38030/50000, Loss: 0.0000000588060054\n",
      "Epoch: 38040/50000, Loss: 0.0000001090353834\n",
      "Epoch: 38050/50000, Loss: 0.0000000350673517\n",
      "Epoch: 38060/50000, Loss: 0.0000000420125446\n",
      "Epoch: 38070/50000, Loss: 0.0000000321082645\n",
      "Epoch: 38080/50000, Loss: 0.0000000304148209\n",
      "Epoch: 38090/50000, Loss: 0.0000000300685556\n",
      "Epoch: 38100/50000, Loss: 0.0000000297556451\n",
      "Epoch: 38110/50000, Loss: 0.0000000295752240\n",
      "Epoch: 38120/50000, Loss: 0.0000000294169276\n",
      "Epoch: 38130/50000, Loss: 0.0000000293168139\n",
      "Epoch: 38140/50000, Loss: 0.0000000292306943\n",
      "Epoch: 38150/50000, Loss: 0.0000000291419546\n",
      "Epoch: 38160/50000, Loss: 0.0000000290599953\n",
      "Epoch: 38170/50000, Loss: 0.0000000289785724\n",
      "Epoch: 38180/50000, Loss: 0.0000000288998372\n",
      "Epoch: 38190/50000, Loss: 0.0000000289755384\n",
      "Epoch: 38200/50000, Loss: 0.0000000477371955\n",
      "Epoch: 38210/50000, Loss: 0.0000040606637413\n",
      "Epoch: 38220/50000, Loss: 0.0000073592514127\n",
      "Epoch: 38230/50000, Loss: 0.0000020001666599\n",
      "Epoch: 38240/50000, Loss: 0.0000010204674936\n",
      "Epoch: 38250/50000, Loss: 0.0000003651374527\n",
      "Epoch: 38260/50000, Loss: 0.0000000807323275\n",
      "Epoch: 38270/50000, Loss: 0.0000000323422924\n",
      "Epoch: 38280/50000, Loss: 0.0000000350700411\n",
      "Epoch: 38290/50000, Loss: 0.0000000323654881\n",
      "Epoch: 38300/50000, Loss: 0.0000000309999031\n",
      "Epoch: 38310/50000, Loss: 0.0000000302140748\n",
      "Epoch: 38320/50000, Loss: 0.0000000300430187\n",
      "Epoch: 38330/50000, Loss: 0.0000000299049994\n",
      "Epoch: 38340/50000, Loss: 0.0000000297828073\n",
      "Epoch: 38350/50000, Loss: 0.0000000296475573\n",
      "Epoch: 38360/50000, Loss: 0.0000000295388922\n",
      "Epoch: 38370/50000, Loss: 0.0000000294420737\n",
      "Epoch: 38380/50000, Loss: 0.0000000293455145\n",
      "Epoch: 38390/50000, Loss: 0.0000000292572828\n",
      "Epoch: 38400/50000, Loss: 0.0000000291635782\n",
      "Epoch: 38410/50000, Loss: 0.0000000290779489\n",
      "Epoch: 38420/50000, Loss: 0.0000000289916127\n",
      "Epoch: 38430/50000, Loss: 0.0000000289072233\n",
      "Epoch: 38440/50000, Loss: 0.0000000288616597\n",
      "Epoch: 38450/50000, Loss: 0.0000000318079003\n",
      "Epoch: 38460/50000, Loss: 0.0000004782651786\n",
      "Epoch: 38470/50000, Loss: 0.0000095946070360\n",
      "Epoch: 38480/50000, Loss: 0.0000036376052321\n",
      "Epoch: 38490/50000, Loss: 0.0000011405627447\n",
      "Epoch: 38500/50000, Loss: 0.0000004649462539\n",
      "Epoch: 38510/50000, Loss: 0.0000001929725215\n",
      "Epoch: 38520/50000, Loss: 0.0000000879766375\n",
      "Epoch: 38530/50000, Loss: 0.0000000488606631\n",
      "Epoch: 38540/50000, Loss: 0.0000000341522970\n",
      "Epoch: 38550/50000, Loss: 0.0000000291501117\n",
      "Epoch: 38560/50000, Loss: 0.0000000282837735\n",
      "Epoch: 38570/50000, Loss: 0.0000000284056227\n",
      "Epoch: 38580/50000, Loss: 0.0000000281683068\n",
      "Epoch: 38590/50000, Loss: 0.0000000280031145\n",
      "Epoch: 38600/50000, Loss: 0.0000000280219581\n",
      "Epoch: 38610/50000, Loss: 0.0000000299560341\n",
      "Epoch: 38620/50000, Loss: 0.0000001559641873\n",
      "Epoch: 38630/50000, Loss: 0.0000080467407315\n",
      "Epoch: 38640/50000, Loss: 0.0000032046950764\n",
      "Epoch: 38650/50000, Loss: 0.0000000590087943\n",
      "Epoch: 38660/50000, Loss: 0.0000003478806718\n",
      "Epoch: 38670/50000, Loss: 0.0000001219366368\n",
      "Epoch: 38680/50000, Loss: 0.0000000437621992\n",
      "Epoch: 38690/50000, Loss: 0.0000000412701340\n",
      "Epoch: 38700/50000, Loss: 0.0000000353708920\n",
      "Epoch: 38710/50000, Loss: 0.0000000313039337\n",
      "Epoch: 38720/50000, Loss: 0.0000000291359665\n",
      "Epoch: 38730/50000, Loss: 0.0000000283966042\n",
      "Epoch: 38740/50000, Loss: 0.0000000279766645\n",
      "Epoch: 38750/50000, Loss: 0.0000000279760766\n",
      "Epoch: 38760/50000, Loss: 0.0000000278208834\n",
      "Epoch: 38770/50000, Loss: 0.0000000277325292\n",
      "Epoch: 38780/50000, Loss: 0.0000000276764958\n",
      "Epoch: 38790/50000, Loss: 0.0000000282277419\n",
      "Epoch: 38800/50000, Loss: 0.0000000746107034\n",
      "Epoch: 38810/50000, Loss: 0.0000058359519244\n",
      "Epoch: 38820/50000, Loss: 0.0000061639634623\n",
      "Epoch: 38830/50000, Loss: 0.0000009207242329\n",
      "Epoch: 38840/50000, Loss: 0.0000003090096072\n",
      "Epoch: 38850/50000, Loss: 0.0000000512636120\n",
      "Epoch: 38860/50000, Loss: 0.0000000424429309\n",
      "Epoch: 38870/50000, Loss: 0.0000000344803901\n",
      "Epoch: 38880/50000, Loss: 0.0000000383650800\n",
      "Epoch: 38890/50000, Loss: 0.0000000330790151\n",
      "Epoch: 38900/50000, Loss: 0.0000000287321793\n",
      "Epoch: 38910/50000, Loss: 0.0000000285148865\n",
      "Epoch: 38920/50000, Loss: 0.0000000283176913\n",
      "Epoch: 38930/50000, Loss: 0.0000000280590431\n",
      "Epoch: 38940/50000, Loss: 0.0000000279542718\n",
      "Epoch: 38950/50000, Loss: 0.0000000278592545\n",
      "Epoch: 38960/50000, Loss: 0.0000000277619883\n",
      "Epoch: 38970/50000, Loss: 0.0000000276746022\n",
      "Epoch: 38980/50000, Loss: 0.0000000275907972\n",
      "Epoch: 38990/50000, Loss: 0.0000000275073635\n",
      "Epoch: 39000/50000, Loss: 0.0000000274563128\n",
      "Epoch: 39010/50000, Loss: 0.0000000288599100\n",
      "Epoch: 39020/50000, Loss: 0.0000001980520210\n",
      "Epoch: 39030/50000, Loss: 0.0000130347862068\n",
      "Epoch: 39040/50000, Loss: 0.0000001668074390\n",
      "Epoch: 39050/50000, Loss: 0.0000002468345031\n",
      "Epoch: 39060/50000, Loss: 0.0000001285510223\n",
      "Epoch: 39070/50000, Loss: 0.0000000771764945\n",
      "Epoch: 39080/50000, Loss: 0.0000000574264405\n",
      "Epoch: 39090/50000, Loss: 0.0000000465199363\n",
      "Epoch: 39100/50000, Loss: 0.0000000360741303\n",
      "Epoch: 39110/50000, Loss: 0.0000000288442656\n",
      "Epoch: 39120/50000, Loss: 0.0000000270765703\n",
      "Epoch: 39130/50000, Loss: 0.0000000272715290\n",
      "Epoch: 39140/50000, Loss: 0.0000000269131526\n",
      "Epoch: 39150/50000, Loss: 0.0000000269690528\n",
      "Epoch: 39160/50000, Loss: 0.0000000330338210\n",
      "Epoch: 39170/50000, Loss: 0.0000005334239290\n",
      "Epoch: 39180/50000, Loss: 0.0000061422906583\n",
      "Epoch: 39190/50000, Loss: 0.0000003792144412\n",
      "Epoch: 39200/50000, Loss: 0.0000008518063623\n",
      "Epoch: 39210/50000, Loss: 0.0000001667508087\n",
      "Epoch: 39220/50000, Loss: 0.0000000636487627\n",
      "Epoch: 39230/50000, Loss: 0.0000000603933401\n",
      "Epoch: 39240/50000, Loss: 0.0000000380631811\n",
      "Epoch: 39250/50000, Loss: 0.0000000291416509\n",
      "Epoch: 39260/50000, Loss: 0.0000000273773928\n",
      "Epoch: 39270/50000, Loss: 0.0000000272983129\n",
      "Epoch: 39280/50000, Loss: 0.0000000270561991\n",
      "Epoch: 39290/50000, Loss: 0.0000000267643880\n",
      "Epoch: 39300/50000, Loss: 0.0000000266561635\n",
      "Epoch: 39310/50000, Loss: 0.0000000265377764\n",
      "Epoch: 39320/50000, Loss: 0.0000000264793236\n",
      "Epoch: 39330/50000, Loss: 0.0000000266600573\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 39340/50000, Loss: 0.0000000361508121\n",
      "Epoch: 39350/50000, Loss: 0.0000008407220662\n",
      "Epoch: 39360/50000, Loss: 0.0000063953884819\n",
      "Epoch: 39370/50000, Loss: 0.0000018667130917\n",
      "Epoch: 39380/50000, Loss: 0.0000003114518563\n",
      "Epoch: 39390/50000, Loss: 0.0000001219660817\n",
      "Epoch: 39400/50000, Loss: 0.0000001343151013\n",
      "Epoch: 39410/50000, Loss: 0.0000000689096140\n",
      "Epoch: 39420/50000, Loss: 0.0000000321494511\n",
      "Epoch: 39430/50000, Loss: 0.0000000315072768\n",
      "Epoch: 39440/50000, Loss: 0.0000000281822796\n",
      "Epoch: 39450/50000, Loss: 0.0000000272683849\n",
      "Epoch: 39460/50000, Loss: 0.0000000267773483\n",
      "Epoch: 39470/50000, Loss: 0.0000000267441571\n",
      "Epoch: 39480/50000, Loss: 0.0000000265772062\n",
      "Epoch: 39490/50000, Loss: 0.0000000264603326\n",
      "Epoch: 39500/50000, Loss: 0.0000000263756075\n",
      "Epoch: 39510/50000, Loss: 0.0000000262958686\n",
      "Epoch: 39520/50000, Loss: 0.0000000262242104\n",
      "Epoch: 39530/50000, Loss: 0.0000000262748294\n",
      "Epoch: 39540/50000, Loss: 0.0000000324092326\n",
      "Epoch: 39550/50000, Loss: 0.0000006575919542\n",
      "Epoch: 39560/50000, Loss: 0.0000054937081586\n",
      "Epoch: 39570/50000, Loss: 0.0000023513393899\n",
      "Epoch: 39580/50000, Loss: 0.0000002729975108\n",
      "Epoch: 39590/50000, Loss: 0.0000000343243514\n",
      "Epoch: 39600/50000, Loss: 0.0000000506630435\n",
      "Epoch: 39610/50000, Loss: 0.0000000625551309\n",
      "Epoch: 39620/50000, Loss: 0.0000000418998596\n",
      "Epoch: 39630/50000, Loss: 0.0000000265179434\n",
      "Epoch: 39640/50000, Loss: 0.0000000275294063\n",
      "Epoch: 39650/50000, Loss: 0.0000000265905928\n",
      "Epoch: 39660/50000, Loss: 0.0000000301634060\n",
      "Epoch: 39670/50000, Loss: 0.0000001647937609\n",
      "Epoch: 39680/50000, Loss: 0.0000052498812693\n",
      "Epoch: 39690/50000, Loss: 0.0000019531582893\n",
      "Epoch: 39700/50000, Loss: 0.0000008267259659\n",
      "Epoch: 39710/50000, Loss: 0.0000001281782289\n",
      "Epoch: 39720/50000, Loss: 0.0000000281219705\n",
      "Epoch: 39730/50000, Loss: 0.0000000368449165\n",
      "Epoch: 39740/50000, Loss: 0.0000000275538952\n",
      "Epoch: 39750/50000, Loss: 0.0000000267382969\n",
      "Epoch: 39760/50000, Loss: 0.0000000272597500\n",
      "Epoch: 39770/50000, Loss: 0.0000000266145115\n",
      "Epoch: 39780/50000, Loss: 0.0000000259300545\n",
      "Epoch: 39790/50000, Loss: 0.0000000255421249\n",
      "Epoch: 39800/50000, Loss: 0.0000000254453116\n",
      "Epoch: 39810/50000, Loss: 0.0000000253727599\n",
      "Epoch: 39820/50000, Loss: 0.0000000255572843\n",
      "Epoch: 39830/50000, Loss: 0.0000000551548922\n",
      "Epoch: 39840/50000, Loss: 0.0000057938350437\n",
      "Epoch: 39850/50000, Loss: 0.0000076527048805\n",
      "Epoch: 39860/50000, Loss: 0.0000023015670649\n",
      "Epoch: 39870/50000, Loss: 0.0000008628348951\n",
      "Epoch: 39880/50000, Loss: 0.0000001494765058\n",
      "Epoch: 39890/50000, Loss: 0.0000000326091865\n",
      "Epoch: 39900/50000, Loss: 0.0000000365709774\n",
      "Epoch: 39910/50000, Loss: 0.0000000325959419\n",
      "Epoch: 39920/50000, Loss: 0.0000000289509323\n",
      "Epoch: 39930/50000, Loss: 0.0000000272381637\n",
      "Epoch: 39940/50000, Loss: 0.0000000264220859\n",
      "Epoch: 39950/50000, Loss: 0.0000000261946216\n",
      "Epoch: 39960/50000, Loss: 0.0000000261123656\n",
      "Epoch: 39970/50000, Loss: 0.0000000259932129\n",
      "Epoch: 39980/50000, Loss: 0.0000000258646473\n",
      "Epoch: 39990/50000, Loss: 0.0000000257673314\n",
      "Epoch: 40000/50000, Loss: 0.0000000256705022\n",
      "Epoch: 40010/50000, Loss: 0.0000000255868233\n",
      "Epoch: 40020/50000, Loss: 0.0000000254999399\n",
      "Epoch: 40030/50000, Loss: 0.0000000254204586\n",
      "Epoch: 40040/50000, Loss: 0.0000000254138737\n",
      "Epoch: 40050/50000, Loss: 0.0000000297133589\n",
      "Epoch: 40060/50000, Loss: 0.0000005459526733\n",
      "Epoch: 40070/50000, Loss: 0.0000066410989348\n",
      "Epoch: 40080/50000, Loss: 0.0000023166735446\n",
      "Epoch: 40090/50000, Loss: 0.0000003245446294\n",
      "Epoch: 40100/50000, Loss: 0.0000000515098186\n",
      "Epoch: 40110/50000, Loss: 0.0000000381206000\n",
      "Epoch: 40120/50000, Loss: 0.0000000500769843\n",
      "Epoch: 40130/50000, Loss: 0.0000000422973017\n",
      "Epoch: 40140/50000, Loss: 0.0000000278938845\n",
      "Epoch: 40150/50000, Loss: 0.0000000254500669\n",
      "Epoch: 40160/50000, Loss: 0.0000000258215742\n",
      "Epoch: 40170/50000, Loss: 0.0000000249094860\n",
      "Epoch: 40180/50000, Loss: 0.0000000249414516\n",
      "Epoch: 40190/50000, Loss: 0.0000000247756358\n",
      "Epoch: 40200/50000, Loss: 0.0000000247021088\n",
      "Epoch: 40210/50000, Loss: 0.0000000247128700\n",
      "Epoch: 40220/50000, Loss: 0.0000000282272143\n",
      "Epoch: 40230/50000, Loss: 0.0000004051310043\n",
      "Epoch: 40240/50000, Loss: 0.0000083586955952\n",
      "Epoch: 40250/50000, Loss: 0.0000016403580503\n",
      "Epoch: 40260/50000, Loss: 0.0000008777560652\n",
      "Epoch: 40270/50000, Loss: 0.0000002778752446\n",
      "Epoch: 40280/50000, Loss: 0.0000000591358003\n",
      "Epoch: 40290/50000, Loss: 0.0000000532233742\n",
      "Epoch: 40300/50000, Loss: 0.0000000346786564\n",
      "Epoch: 40310/50000, Loss: 0.0000000289366344\n",
      "Epoch: 40320/50000, Loss: 0.0000000254337866\n",
      "Epoch: 40330/50000, Loss: 0.0000000251322554\n",
      "Epoch: 40340/50000, Loss: 0.0000000250304115\n",
      "Epoch: 40350/50000, Loss: 0.0000000248762291\n",
      "Epoch: 40360/50000, Loss: 0.0000000246790499\n",
      "Epoch: 40370/50000, Loss: 0.0000000246365577\n",
      "Epoch: 40380/50000, Loss: 0.0000000245656029\n",
      "Epoch: 40390/50000, Loss: 0.0000000247093830\n",
      "Epoch: 40400/50000, Loss: 0.0000000301031307\n",
      "Epoch: 40410/50000, Loss: 0.0000003361944039\n",
      "Epoch: 40420/50000, Loss: 0.0000110521923489\n",
      "Epoch: 40430/50000, Loss: 0.0000012029249774\n",
      "Epoch: 40440/50000, Loss: 0.0000011510921922\n",
      "Epoch: 40450/50000, Loss: 0.0000000525836406\n",
      "Epoch: 40460/50000, Loss: 0.0000001741752982\n",
      "Epoch: 40470/50000, Loss: 0.0000000319125171\n",
      "Epoch: 40480/50000, Loss: 0.0000000465198084\n",
      "Epoch: 40490/50000, Loss: 0.0000000252836223\n",
      "Epoch: 40500/50000, Loss: 0.0000000258369290\n",
      "Epoch: 40510/50000, Loss: 0.0000000255751793\n",
      "Epoch: 40520/50000, Loss: 0.0000000248378349\n",
      "Epoch: 40530/50000, Loss: 0.0000000244993110\n",
      "Epoch: 40540/50000, Loss: 0.0000000243435725\n",
      "Epoch: 40550/50000, Loss: 0.0000000242324383\n",
      "Epoch: 40560/50000, Loss: 0.0000000241481786\n",
      "Epoch: 40570/50000, Loss: 0.0000000241171190\n",
      "Epoch: 40580/50000, Loss: 0.0000000257987747\n",
      "Epoch: 40590/50000, Loss: 0.0000002843894720\n",
      "Epoch: 40600/50000, Loss: 0.0000037329887164\n",
      "Epoch: 40610/50000, Loss: 0.0000029211109904\n",
      "Epoch: 40620/50000, Loss: 0.0000008207647397\n",
      "Epoch: 40630/50000, Loss: 0.0000002671362154\n",
      "Epoch: 40640/50000, Loss: 0.0000001715178826\n",
      "Epoch: 40650/50000, Loss: 0.0000000542412124\n",
      "Epoch: 40660/50000, Loss: 0.0000000422501891\n",
      "Epoch: 40670/50000, Loss: 0.0000000719996223\n",
      "Epoch: 40680/50000, Loss: 0.0000005304484603\n",
      "Epoch: 40690/50000, Loss: 0.0000038559337554\n",
      "Epoch: 40700/50000, Loss: 0.0000011808601812\n",
      "Epoch: 40710/50000, Loss: 0.0000004656597525\n",
      "Epoch: 40720/50000, Loss: 0.0000001732924204\n",
      "Epoch: 40730/50000, Loss: 0.0000000497625869\n",
      "Epoch: 40740/50000, Loss: 0.0000000259390163\n",
      "Epoch: 40750/50000, Loss: 0.0000000397311837\n",
      "Epoch: 40760/50000, Loss: 0.0000000247898644\n",
      "Epoch: 40770/50000, Loss: 0.0000000249890313\n",
      "Epoch: 40780/50000, Loss: 0.0000000329951781\n",
      "Epoch: 40790/50000, Loss: 0.0000002135475086\n",
      "Epoch: 40800/50000, Loss: 0.0000055503210206\n",
      "Epoch: 40810/50000, Loss: 0.0000022295050712\n",
      "Epoch: 40820/50000, Loss: 0.0000008427285252\n",
      "Epoch: 40830/50000, Loss: 0.0000001539329020\n",
      "Epoch: 40840/50000, Loss: 0.0000001012202233\n",
      "Epoch: 40850/50000, Loss: 0.0000000417787653\n",
      "Epoch: 40860/50000, Loss: 0.0000000252576804\n",
      "Epoch: 40870/50000, Loss: 0.0000000244646632\n",
      "Epoch: 40880/50000, Loss: 0.0000000252373233\n",
      "Epoch: 40890/50000, Loss: 0.0000000243014568\n",
      "Epoch: 40900/50000, Loss: 0.0000000243253364\n",
      "Epoch: 40910/50000, Loss: 0.0000000238658888\n",
      "Epoch: 40920/50000, Loss: 0.0000000241306086\n",
      "Epoch: 40930/50000, Loss: 0.0000000330645662\n",
      "Epoch: 40940/50000, Loss: 0.0000005252783239\n",
      "Epoch: 40950/50000, Loss: 0.0000073342007454\n",
      "Epoch: 40960/50000, Loss: 0.0000018586924853\n",
      "Epoch: 40970/50000, Loss: 0.0000003012261516\n",
      "Epoch: 40980/50000, Loss: 0.0000001288151310\n",
      "Epoch: 40990/50000, Loss: 0.0000001022662559\n",
      "Epoch: 41000/50000, Loss: 0.0000000642123865\n",
      "Epoch: 41010/50000, Loss: 0.0000000316715543\n",
      "Epoch: 41020/50000, Loss: 0.0000000283670918\n",
      "Epoch: 41030/50000, Loss: 0.0000000256905768\n",
      "Epoch: 41040/50000, Loss: 0.0000000247183891\n",
      "Epoch: 41050/50000, Loss: 0.0000000242594034\n",
      "Epoch: 41060/50000, Loss: 0.0000000242138292\n",
      "Epoch: 41070/50000, Loss: 0.0000000280099819\n",
      "Epoch: 41080/50000, Loss: 0.0000001980401549\n",
      "Epoch: 41090/50000, Loss: 0.0000077318982221\n",
      "Epoch: 41100/50000, Loss: 0.0000030632734251\n",
      "Epoch: 41110/50000, Loss: 0.0000003542596403\n",
      "Epoch: 41120/50000, Loss: 0.0000002596227944\n",
      "Epoch: 41130/50000, Loss: 0.0000001009542387\n",
      "Epoch: 41140/50000, Loss: 0.0000000507058431\n",
      "Epoch: 41150/50000, Loss: 0.0000000314496944\n",
      "Epoch: 41160/50000, Loss: 0.0000000308833172\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 41170/50000, Loss: 0.0000000242373002\n",
      "Epoch: 41180/50000, Loss: 0.0000000236831852\n",
      "Epoch: 41190/50000, Loss: 0.0000000236238602\n",
      "Epoch: 41200/50000, Loss: 0.0000000235393198\n",
      "Epoch: 41210/50000, Loss: 0.0000000235149180\n",
      "Epoch: 41220/50000, Loss: 0.0000000247543230\n",
      "Epoch: 41230/50000, Loss: 0.0000000740254649\n",
      "Epoch: 41240/50000, Loss: 0.0000031642025533\n",
      "Epoch: 41250/50000, Loss: 0.0000020799564027\n",
      "Epoch: 41260/50000, Loss: 0.0000000426028848\n",
      "Epoch: 41270/50000, Loss: 0.0000002130907717\n",
      "Epoch: 41280/50000, Loss: 0.0000001414448434\n",
      "Epoch: 41290/50000, Loss: 0.0000000290685396\n",
      "Epoch: 41300/50000, Loss: 0.0000000371459166\n",
      "Epoch: 41310/50000, Loss: 0.0000000270207376\n",
      "Epoch: 41320/50000, Loss: 0.0000000274490937\n",
      "Epoch: 41330/50000, Loss: 0.0000000242260203\n",
      "Epoch: 41340/50000, Loss: 0.0000000235744206\n",
      "Epoch: 41350/50000, Loss: 0.0000000235502213\n",
      "Epoch: 41360/50000, Loss: 0.0000000242376252\n",
      "Epoch: 41370/50000, Loss: 0.0000000650265619\n",
      "Epoch: 41380/50000, Loss: 0.0000037685360894\n",
      "Epoch: 41390/50000, Loss: 0.0000027634773687\n",
      "Epoch: 41400/50000, Loss: 0.0000003352047884\n",
      "Epoch: 41410/50000, Loss: 0.0000006661142606\n",
      "Epoch: 41420/50000, Loss: 0.0000002074912118\n",
      "Epoch: 41430/50000, Loss: 0.0000000267995723\n",
      "Epoch: 41440/50000, Loss: 0.0000000517215071\n",
      "Epoch: 41450/50000, Loss: 0.0000000275818515\n",
      "Epoch: 41460/50000, Loss: 0.0000000267207501\n",
      "Epoch: 41470/50000, Loss: 0.0000000237403643\n",
      "Epoch: 41480/50000, Loss: 0.0000000239718183\n",
      "Epoch: 41490/50000, Loss: 0.0000000234619524\n",
      "Epoch: 41500/50000, Loss: 0.0000000233213235\n",
      "Epoch: 41510/50000, Loss: 0.0000000236283277\n",
      "Epoch: 41520/50000, Loss: 0.0000000345621238\n",
      "Epoch: 41530/50000, Loss: 0.0000007280665386\n",
      "Epoch: 41540/50000, Loss: 0.0000015179032289\n",
      "Epoch: 41550/50000, Loss: 0.0000012968069996\n",
      "Epoch: 41560/50000, Loss: 0.0000002070819818\n",
      "Epoch: 41570/50000, Loss: 0.0000001451536065\n",
      "Epoch: 41580/50000, Loss: 0.0000000398581328\n",
      "Epoch: 41590/50000, Loss: 0.0000000433574776\n",
      "Epoch: 41600/50000, Loss: 0.0000000248477026\n",
      "Epoch: 41610/50000, Loss: 0.0000000297446690\n",
      "Epoch: 41620/50000, Loss: 0.0000000420178914\n",
      "Epoch: 41630/50000, Loss: 0.0000002737993441\n",
      "Epoch: 41640/50000, Loss: 0.0000046700524763\n",
      "Epoch: 41650/50000, Loss: 0.0000013727360511\n",
      "Epoch: 41660/50000, Loss: 0.0000007064536476\n",
      "Epoch: 41670/50000, Loss: 0.0000002389454323\n",
      "Epoch: 41680/50000, Loss: 0.0000000963581783\n",
      "Epoch: 41690/50000, Loss: 0.0000000513370040\n",
      "Epoch: 41700/50000, Loss: 0.0000000285191160\n",
      "Epoch: 41710/50000, Loss: 0.0000000240382629\n",
      "Epoch: 41720/50000, Loss: 0.0000000256316834\n",
      "Epoch: 41730/50000, Loss: 0.0000000252473917\n",
      "Epoch: 41740/50000, Loss: 0.0000000266424394\n",
      "Epoch: 41750/50000, Loss: 0.0000000674212828\n",
      "Epoch: 41760/50000, Loss: 0.0000014636143533\n",
      "Epoch: 41770/50000, Loss: 0.0000021260461835\n",
      "Epoch: 41780/50000, Loss: 0.0000011088428664\n",
      "Epoch: 41790/50000, Loss: 0.0000003313121226\n",
      "Epoch: 41800/50000, Loss: 0.0000001744867575\n",
      "Epoch: 41810/50000, Loss: 0.0000000543828023\n",
      "Epoch: 41820/50000, Loss: 0.0000000327288774\n",
      "Epoch: 41830/50000, Loss: 0.0000000348601148\n",
      "Epoch: 41840/50000, Loss: 0.0000000252439634\n",
      "Epoch: 41850/50000, Loss: 0.0000000234973641\n",
      "Epoch: 41860/50000, Loss: 0.0000000244212313\n",
      "Epoch: 41870/50000, Loss: 0.0000000583137307\n",
      "Epoch: 41880/50000, Loss: 0.0000020832571863\n",
      "Epoch: 41890/50000, Loss: 0.0000002270914763\n",
      "Epoch: 41900/50000, Loss: 0.0000015351673710\n",
      "Epoch: 41910/50000, Loss: 0.0000000424289475\n",
      "Epoch: 41920/50000, Loss: 0.0000002162233557\n",
      "Epoch: 41930/50000, Loss: 0.0000000309819193\n",
      "Epoch: 41940/50000, Loss: 0.0000000505514421\n",
      "Epoch: 41950/50000, Loss: 0.0000000249339003\n",
      "Epoch: 41960/50000, Loss: 0.0000000239086404\n",
      "Epoch: 41970/50000, Loss: 0.0000000243783127\n",
      "Epoch: 41980/50000, Loss: 0.0000000258949733\n",
      "Epoch: 41990/50000, Loss: 0.0000000863045173\n",
      "Epoch: 42000/50000, Loss: 0.0000027370147109\n",
      "Epoch: 42010/50000, Loss: 0.0000009853449683\n",
      "Epoch: 42020/50000, Loss: 0.0000000784554715\n",
      "Epoch: 42030/50000, Loss: 0.0000001657421507\n",
      "Epoch: 42040/50000, Loss: 0.0000000566753116\n",
      "Epoch: 42050/50000, Loss: 0.0000000464107401\n",
      "Epoch: 42060/50000, Loss: 0.0000000405192573\n",
      "Epoch: 42070/50000, Loss: 0.0000000263002757\n",
      "Epoch: 42080/50000, Loss: 0.0000000252563801\n",
      "Epoch: 42090/50000, Loss: 0.0000000293763520\n",
      "Epoch: 42100/50000, Loss: 0.0000000855609841\n",
      "Epoch: 42110/50000, Loss: 0.0000016386933339\n",
      "Epoch: 42120/50000, Loss: 0.0000010172382190\n",
      "Epoch: 42130/50000, Loss: 0.0000000966723874\n",
      "Epoch: 42140/50000, Loss: 0.0000002907187024\n",
      "Epoch: 42150/50000, Loss: 0.0000001959252387\n",
      "Epoch: 42160/50000, Loss: 0.0000000856026645\n",
      "Epoch: 42170/50000, Loss: 0.0000000462604532\n",
      "Epoch: 42180/50000, Loss: 0.0000000327612852\n",
      "Epoch: 42190/50000, Loss: 0.0000000267816258\n",
      "Epoch: 42200/50000, Loss: 0.0000000230219772\n",
      "Epoch: 42210/50000, Loss: 0.0000000238594371\n",
      "Epoch: 42220/50000, Loss: 0.0000000289231536\n",
      "Epoch: 42230/50000, Loss: 0.0000003247878055\n",
      "Epoch: 42240/50000, Loss: 0.0000030739781778\n",
      "Epoch: 42250/50000, Loss: 0.0000016899015236\n",
      "Epoch: 42260/50000, Loss: 0.0000003382347415\n",
      "Epoch: 42270/50000, Loss: 0.0000003216906919\n",
      "Epoch: 42280/50000, Loss: 0.0000001155085201\n",
      "Epoch: 42290/50000, Loss: 0.0000000546437029\n",
      "Epoch: 42300/50000, Loss: 0.0000000355227101\n",
      "Epoch: 42310/50000, Loss: 0.0000000667065905\n",
      "Epoch: 42320/50000, Loss: 0.0000004108386804\n",
      "Epoch: 42330/50000, Loss: 0.0000034170193430\n",
      "Epoch: 42340/50000, Loss: 0.0000006880187016\n",
      "Epoch: 42350/50000, Loss: 0.0000001992770677\n",
      "Epoch: 42360/50000, Loss: 0.0000000420845581\n",
      "Epoch: 42370/50000, Loss: 0.0000000347386013\n",
      "Epoch: 42380/50000, Loss: 0.0000000589105476\n",
      "Epoch: 42390/50000, Loss: 0.0000000234292585\n",
      "Epoch: 42400/50000, Loss: 0.0000000343185391\n",
      "Epoch: 42410/50000, Loss: 0.0000000591527787\n",
      "Epoch: 42420/50000, Loss: 0.0000004089570211\n",
      "Epoch: 42430/50000, Loss: 0.0000043524946705\n",
      "Epoch: 42440/50000, Loss: 0.0000011939295064\n",
      "Epoch: 42450/50000, Loss: 0.0000005455718792\n",
      "Epoch: 42460/50000, Loss: 0.0000002316751306\n",
      "Epoch: 42470/50000, Loss: 0.0000000854914646\n",
      "Epoch: 42480/50000, Loss: 0.0000000287995157\n",
      "Epoch: 42490/50000, Loss: 0.0000000283165207\n",
      "Epoch: 42500/50000, Loss: 0.0000000402926545\n",
      "Epoch: 42510/50000, Loss: 0.0000004013978412\n",
      "Epoch: 42520/50000, Loss: 0.0000019689923647\n",
      "Epoch: 42530/50000, Loss: 0.0000000916134724\n",
      "Epoch: 42540/50000, Loss: 0.0000004319164475\n",
      "Epoch: 42550/50000, Loss: 0.0000007170898471\n",
      "Epoch: 42560/50000, Loss: 0.0000013449698599\n",
      "Epoch: 42570/50000, Loss: 0.0000001205063853\n",
      "Epoch: 42580/50000, Loss: 0.0000001929293632\n",
      "Epoch: 42590/50000, Loss: 0.0000000371407047\n",
      "Epoch: 42600/50000, Loss: 0.0000001210238452\n",
      "Epoch: 42610/50000, Loss: 0.0000004597731618\n",
      "Epoch: 42620/50000, Loss: 0.0000020910733838\n",
      "Epoch: 42630/50000, Loss: 0.0000000461357423\n",
      "Epoch: 42640/50000, Loss: 0.0000002566561932\n",
      "Epoch: 42650/50000, Loss: 0.0000001268573016\n",
      "Epoch: 42660/50000, Loss: 0.0000000826237425\n",
      "Epoch: 42670/50000, Loss: 0.0000000257071662\n",
      "Epoch: 42680/50000, Loss: 0.0000000246281040\n",
      "Epoch: 42690/50000, Loss: 0.0000000268073954\n",
      "Epoch: 42700/50000, Loss: 0.0000000706897296\n",
      "Epoch: 42710/50000, Loss: 0.0000018456964881\n",
      "Epoch: 42720/50000, Loss: 0.0000039434589780\n",
      "Epoch: 42730/50000, Loss: 0.0000013508982875\n",
      "Epoch: 42740/50000, Loss: 0.0000004763208494\n",
      "Epoch: 42750/50000, Loss: 0.0000001342301630\n",
      "Epoch: 42760/50000, Loss: 0.0000000551222286\n",
      "Epoch: 42770/50000, Loss: 0.0000000384947754\n",
      "Epoch: 42780/50000, Loss: 0.0000000334532544\n",
      "Epoch: 42790/50000, Loss: 0.0000000288331652\n",
      "Epoch: 42800/50000, Loss: 0.0000000247794674\n",
      "Epoch: 42810/50000, Loss: 0.0000000230167387\n",
      "Epoch: 42820/50000, Loss: 0.0000000229835280\n",
      "Epoch: 42830/50000, Loss: 0.0000000228429258\n",
      "Epoch: 42840/50000, Loss: 0.0000000226692887\n",
      "Epoch: 42850/50000, Loss: 0.0000000226013306\n",
      "Epoch: 42860/50000, Loss: 0.0000000226725714\n",
      "Epoch: 42870/50000, Loss: 0.0000000378305067\n",
      "Epoch: 42880/50000, Loss: 0.0000026983398129\n",
      "Epoch: 42890/50000, Loss: 0.0000031437225516\n",
      "Epoch: 42900/50000, Loss: 0.0000001365577305\n",
      "Epoch: 42910/50000, Loss: 0.0000001099040006\n",
      "Epoch: 42920/50000, Loss: 0.0000000900144954\n",
      "Epoch: 42930/50000, Loss: 0.0000000751002034\n",
      "Epoch: 42940/50000, Loss: 0.0000000608675776\n",
      "Epoch: 42950/50000, Loss: 0.0000000382270642\n",
      "Epoch: 42960/50000, Loss: 0.0000000240206415\n",
      "Epoch: 42970/50000, Loss: 0.0000000242053240\n",
      "Epoch: 42980/50000, Loss: 0.0000000237166464\n",
      "Epoch: 42990/50000, Loss: 0.0000000230486510\n",
      "Epoch: 43000/50000, Loss: 0.0000000230286386\n",
      "Epoch: 43010/50000, Loss: 0.0000000228837322\n",
      "Epoch: 43020/50000, Loss: 0.0000000227997141\n",
      "Epoch: 43030/50000, Loss: 0.0000000227364207\n",
      "Epoch: 43040/50000, Loss: 0.0000000226714327\n",
      "Epoch: 43050/50000, Loss: 0.0000000226070291\n",
      "Epoch: 43060/50000, Loss: 0.0000000225498020\n",
      "Epoch: 43070/50000, Loss: 0.0000000224897967\n",
      "Epoch: 43080/50000, Loss: 0.0000000224354793\n",
      "Epoch: 43090/50000, Loss: 0.0000000224186412\n",
      "Epoch: 43100/50000, Loss: 0.0000000235828903\n",
      "Epoch: 43110/50000, Loss: 0.0000001130399383\n",
      "Epoch: 43120/50000, Loss: 0.0000053908997870\n",
      "Epoch: 43130/50000, Loss: 0.0000012639575289\n",
      "Epoch: 43140/50000, Loss: 0.0000007318381563\n",
      "Epoch: 43150/50000, Loss: 0.0000004581652888\n",
      "Epoch: 43160/50000, Loss: 0.0000000644920561\n",
      "Epoch: 43170/50000, Loss: 0.0000000628454799\n",
      "Epoch: 43180/50000, Loss: 0.0000000918325540\n",
      "Epoch: 43190/50000, Loss: 0.0000002484840707\n",
      "Epoch: 43200/50000, Loss: 0.0000018672371880\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 43210/50000, Loss: 0.0000001123289408\n",
      "Epoch: 43220/50000, Loss: 0.0000002884882235\n",
      "Epoch: 43230/50000, Loss: 0.0000002298942690\n",
      "Epoch: 43240/50000, Loss: 0.0000000547688224\n",
      "Epoch: 43250/50000, Loss: 0.0000000486696301\n",
      "Epoch: 43260/50000, Loss: 0.0000000231475425\n",
      "Epoch: 43270/50000, Loss: 0.0000000366416550\n",
      "Epoch: 43280/50000, Loss: 0.0000001711728999\n",
      "Epoch: 43290/50000, Loss: 0.0000028148240290\n",
      "Epoch: 43300/50000, Loss: 0.0000001391824327\n",
      "Epoch: 43310/50000, Loss: 0.0000002409387321\n",
      "Epoch: 43320/50000, Loss: 0.0000001997208727\n",
      "Epoch: 43330/50000, Loss: 0.0000001108473953\n",
      "Epoch: 43340/50000, Loss: 0.0000000647472689\n",
      "Epoch: 43350/50000, Loss: 0.0000000356315155\n",
      "Epoch: 43360/50000, Loss: 0.0000000240498164\n",
      "Epoch: 43370/50000, Loss: 0.0000000240058959\n",
      "Epoch: 43380/50000, Loss: 0.0000000233779893\n",
      "Epoch: 43390/50000, Loss: 0.0000000372363402\n",
      "Epoch: 43400/50000, Loss: 0.0000005783994652\n",
      "Epoch: 43410/50000, Loss: 0.0000042057808969\n",
      "Epoch: 43420/50000, Loss: 0.0000004991576930\n",
      "Epoch: 43430/50000, Loss: 0.0000001998659798\n",
      "Epoch: 43440/50000, Loss: 0.0000002233731919\n",
      "Epoch: 43450/50000, Loss: 0.0000000569937022\n",
      "Epoch: 43460/50000, Loss: 0.0000000519899217\n",
      "Epoch: 43470/50000, Loss: 0.0000000286105060\n",
      "Epoch: 43480/50000, Loss: 0.0000000262317634\n",
      "Epoch: 43490/50000, Loss: 0.0000000231235049\n",
      "Epoch: 43500/50000, Loss: 0.0000000224493597\n",
      "Epoch: 43510/50000, Loss: 0.0000000230981119\n",
      "Epoch: 43520/50000, Loss: 0.0000000905051110\n",
      "Epoch: 43530/50000, Loss: 0.0000083808208728\n",
      "Epoch: 43540/50000, Loss: 0.0000038632315409\n",
      "Epoch: 43550/50000, Loss: 0.0000017612819647\n",
      "Epoch: 43560/50000, Loss: 0.0000005247937906\n",
      "Epoch: 43570/50000, Loss: 0.0000001247876469\n",
      "Epoch: 43580/50000, Loss: 0.0000000291371371\n",
      "Epoch: 43590/50000, Loss: 0.0000000273167107\n",
      "Epoch: 43600/50000, Loss: 0.0000000317726361\n",
      "Epoch: 43610/50000, Loss: 0.0000000249929464\n",
      "Epoch: 43620/50000, Loss: 0.0000000229029418\n",
      "Epoch: 43630/50000, Loss: 0.0000000230586199\n",
      "Epoch: 43640/50000, Loss: 0.0000000225758843\n",
      "Epoch: 43650/50000, Loss: 0.0000000225705055\n",
      "Epoch: 43660/50000, Loss: 0.0000000229674306\n",
      "Epoch: 43670/50000, Loss: 0.0000000378750613\n",
      "Epoch: 43680/50000, Loss: 0.0000009837922335\n",
      "Epoch: 43690/50000, Loss: 0.0000005031136538\n",
      "Epoch: 43700/50000, Loss: 0.0000005941242875\n",
      "Epoch: 43710/50000, Loss: 0.0000000891175915\n",
      "Epoch: 43720/50000, Loss: 0.0000000798764148\n",
      "Epoch: 43730/50000, Loss: 0.0000000303668806\n",
      "Epoch: 43740/50000, Loss: 0.0000000346302329\n",
      "Epoch: 43750/50000, Loss: 0.0000000264847753\n",
      "Epoch: 43760/50000, Loss: 0.0000000232958488\n",
      "Epoch: 43770/50000, Loss: 0.0000000235839259\n",
      "Epoch: 43780/50000, Loss: 0.0000000230307098\n",
      "Epoch: 43790/50000, Loss: 0.0000000252285108\n",
      "Epoch: 43800/50000, Loss: 0.0000000873312018\n",
      "Epoch: 43810/50000, Loss: 0.0000029531431665\n",
      "Epoch: 43820/50000, Loss: 0.0000004914151646\n",
      "Epoch: 43830/50000, Loss: 0.0000014067969687\n",
      "Epoch: 43840/50000, Loss: 0.0000000713904882\n",
      "Epoch: 43850/50000, Loss: 0.0000001462225612\n",
      "Epoch: 43860/50000, Loss: 0.0000000821483326\n",
      "Epoch: 43870/50000, Loss: 0.0000000265066866\n",
      "Epoch: 43880/50000, Loss: 0.0000000227778845\n",
      "Epoch: 43890/50000, Loss: 0.0000000230643042\n",
      "Epoch: 43900/50000, Loss: 0.0000000225232704\n",
      "Epoch: 43910/50000, Loss: 0.0000000223252936\n",
      "Epoch: 43920/50000, Loss: 0.0000000224720615\n",
      "Epoch: 43930/50000, Loss: 0.0000000243263543\n",
      "Epoch: 43940/50000, Loss: 0.0000001415802160\n",
      "Epoch: 43950/50000, Loss: 0.0000046406967158\n",
      "Epoch: 43960/50000, Loss: 0.0000002746241421\n",
      "Epoch: 43970/50000, Loss: 0.0000005404311878\n",
      "Epoch: 43980/50000, Loss: 0.0000000990545459\n",
      "Epoch: 43990/50000, Loss: 0.0000005668499625\n",
      "Epoch: 44000/50000, Loss: 0.0000028315014333\n",
      "Epoch: 44010/50000, Loss: 0.0000007482215665\n",
      "Epoch: 44020/50000, Loss: 0.0000001924513953\n",
      "Epoch: 44030/50000, Loss: 0.0000000327286926\n",
      "Epoch: 44040/50000, Loss: 0.0000000462005758\n",
      "Epoch: 44050/50000, Loss: 0.0000000491225869\n",
      "Epoch: 44060/50000, Loss: 0.0000000305575405\n",
      "Epoch: 44070/50000, Loss: 0.0000000229557866\n",
      "Epoch: 44080/50000, Loss: 0.0000000228857360\n",
      "Epoch: 44090/50000, Loss: 0.0000000352126186\n",
      "Epoch: 44100/50000, Loss: 0.0000007125085517\n",
      "Epoch: 44110/50000, Loss: 0.0000051377528507\n",
      "Epoch: 44120/50000, Loss: 0.0000003274589631\n",
      "Epoch: 44130/50000, Loss: 0.0000006922102216\n",
      "Epoch: 44140/50000, Loss: 0.0000001146673725\n",
      "Epoch: 44150/50000, Loss: 0.0000000960391588\n",
      "Epoch: 44160/50000, Loss: 0.0000000299248448\n",
      "Epoch: 44170/50000, Loss: 0.0000000364983848\n",
      "Epoch: 44180/50000, Loss: 0.0000000243623823\n",
      "Epoch: 44190/50000, Loss: 0.0000000224111609\n",
      "Epoch: 44200/50000, Loss: 0.0000000224522783\n",
      "Epoch: 44210/50000, Loss: 0.0000000223307453\n",
      "Epoch: 44220/50000, Loss: 0.0000000224730918\n",
      "Epoch: 44230/50000, Loss: 0.0000000426376054\n",
      "Epoch: 44240/50000, Loss: 0.0000025266535886\n",
      "Epoch: 44250/50000, Loss: 0.0000026391262509\n",
      "Epoch: 44260/50000, Loss: 0.0000005636873652\n",
      "Epoch: 44270/50000, Loss: 0.0000000505767268\n",
      "Epoch: 44280/50000, Loss: 0.0000000547574430\n",
      "Epoch: 44290/50000, Loss: 0.0000000646746514\n",
      "Epoch: 44300/50000, Loss: 0.0000000377915050\n",
      "Epoch: 44310/50000, Loss: 0.0000000509219724\n",
      "Epoch: 44320/50000, Loss: 0.0000003686419063\n",
      "Epoch: 44330/50000, Loss: 0.0000040859727051\n",
      "Epoch: 44340/50000, Loss: 0.0000013095748272\n",
      "Epoch: 44350/50000, Loss: 0.0000005711599442\n",
      "Epoch: 44360/50000, Loss: 0.0000002304859237\n",
      "Epoch: 44370/50000, Loss: 0.0000001026536580\n",
      "Epoch: 44380/50000, Loss: 0.0000000507925861\n",
      "Epoch: 44390/50000, Loss: 0.0000000249895127\n",
      "Epoch: 44400/50000, Loss: 0.0000000252464272\n",
      "Epoch: 44410/50000, Loss: 0.0000000232241160\n",
      "Epoch: 44420/50000, Loss: 0.0000000256785686\n",
      "Epoch: 44430/50000, Loss: 0.0000000404066007\n",
      "Epoch: 44440/50000, Loss: 0.0000003502900086\n",
      "Epoch: 44450/50000, Loss: 0.0000053296034821\n",
      "Epoch: 44460/50000, Loss: 0.0000019124347546\n",
      "Epoch: 44470/50000, Loss: 0.0000004899255828\n",
      "Epoch: 44480/50000, Loss: 0.0000000474321666\n",
      "Epoch: 44490/50000, Loss: 0.0000000285814910\n",
      "Epoch: 44500/50000, Loss: 0.0000000283696640\n",
      "Epoch: 44510/50000, Loss: 0.0000000245049705\n",
      "Epoch: 44520/50000, Loss: 0.0000000241035885\n",
      "Epoch: 44530/50000, Loss: 0.0000000418274730\n",
      "Epoch: 44540/50000, Loss: 0.0000005293700269\n",
      "Epoch: 44550/50000, Loss: 0.0000011614013147\n",
      "Epoch: 44560/50000, Loss: 0.0000000524298223\n",
      "Epoch: 44570/50000, Loss: 0.0000001695358094\n",
      "Epoch: 44580/50000, Loss: 0.0000001214079646\n",
      "Epoch: 44590/50000, Loss: 0.0000001377637204\n",
      "Epoch: 44600/50000, Loss: 0.0000014711247331\n",
      "Epoch: 44610/50000, Loss: 0.0000007671644084\n",
      "Epoch: 44620/50000, Loss: 0.0000002994928820\n",
      "Epoch: 44630/50000, Loss: 0.0000001289781011\n",
      "Epoch: 44640/50000, Loss: 0.0000000867670238\n",
      "Epoch: 44650/50000, Loss: 0.0000000535915419\n",
      "Epoch: 44660/50000, Loss: 0.0000000279570482\n",
      "Epoch: 44670/50000, Loss: 0.0000000326186935\n",
      "Epoch: 44680/50000, Loss: 0.0000000239440165\n",
      "Epoch: 44690/50000, Loss: 0.0000000244354279\n",
      "Epoch: 44700/50000, Loss: 0.0000000474601265\n",
      "Epoch: 44710/50000, Loss: 0.0000008844737636\n",
      "Epoch: 44720/50000, Loss: 0.0000034594086173\n",
      "Epoch: 44730/50000, Loss: 0.0000003578465453\n",
      "Epoch: 44740/50000, Loss: 0.0000005051965672\n",
      "Epoch: 44750/50000, Loss: 0.0000000859642810\n",
      "Epoch: 44760/50000, Loss: 0.0000000794808273\n",
      "Epoch: 44770/50000, Loss: 0.0000000270675855\n",
      "Epoch: 44780/50000, Loss: 0.0000000339962867\n",
      "Epoch: 44790/50000, Loss: 0.0000000300367056\n",
      "Epoch: 44800/50000, Loss: 0.0000000930405477\n",
      "Epoch: 44810/50000, Loss: 0.0000019181040898\n",
      "Epoch: 44820/50000, Loss: 0.0000000555952866\n",
      "Epoch: 44830/50000, Loss: 0.0000002404488555\n",
      "Epoch: 44840/50000, Loss: 0.0000002803811014\n",
      "Epoch: 44850/50000, Loss: 0.0000001089871233\n",
      "Epoch: 44860/50000, Loss: 0.0000000395593567\n",
      "Epoch: 44870/50000, Loss: 0.0000000266799045\n",
      "Epoch: 44880/50000, Loss: 0.0000000259399400\n",
      "Epoch: 44890/50000, Loss: 0.0000000244378917\n",
      "Epoch: 44900/50000, Loss: 0.0000000230377175\n",
      "Epoch: 44910/50000, Loss: 0.0000000228588828\n",
      "Epoch: 44920/50000, Loss: 0.0000000280573946\n",
      "Epoch: 44930/50000, Loss: 0.0000002017389704\n",
      "Epoch: 44940/50000, Loss: 0.0000055357677411\n",
      "Epoch: 44950/50000, Loss: 0.0000016607203861\n",
      "Epoch: 44960/50000, Loss: 0.0000002582099512\n",
      "Epoch: 44970/50000, Loss: 0.0000001075053007\n",
      "Epoch: 44980/50000, Loss: 0.0000001213986849\n",
      "Epoch: 44990/50000, Loss: 0.0000000346792888\n",
      "Epoch: 45000/50000, Loss: 0.0000000387561947\n",
      "Epoch: 45010/50000, Loss: 0.0000000254208228\n",
      "Epoch: 45020/50000, Loss: 0.0000000226319887\n",
      "Epoch: 45030/50000, Loss: 0.0000000243845584\n",
      "Epoch: 45040/50000, Loss: 0.0000000441873205\n",
      "Epoch: 45050/50000, Loss: 0.0000007447840176\n",
      "Epoch: 45060/50000, Loss: 0.0000035043599382\n",
      "Epoch: 45070/50000, Loss: 0.0000001906655598\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 45080/50000, Loss: 0.0000003709331509\n",
      "Epoch: 45090/50000, Loss: 0.0000001807408267\n",
      "Epoch: 45100/50000, Loss: 0.0000000268605227\n",
      "Epoch: 45110/50000, Loss: 0.0000000296251503\n",
      "Epoch: 45120/50000, Loss: 0.0000000289462214\n",
      "Epoch: 45130/50000, Loss: 0.0000000253273438\n",
      "Epoch: 45140/50000, Loss: 0.0000000231518715\n",
      "Epoch: 45150/50000, Loss: 0.0000000226472032\n",
      "Epoch: 45160/50000, Loss: 0.0000000312579616\n",
      "Epoch: 45170/50000, Loss: 0.0000004152758208\n",
      "Epoch: 45180/50000, Loss: 0.0000033882329262\n",
      "Epoch: 45190/50000, Loss: 0.0000001570533783\n",
      "Epoch: 45200/50000, Loss: 0.0000003944069249\n",
      "Epoch: 45210/50000, Loss: 0.0000001131712111\n",
      "Epoch: 45220/50000, Loss: 0.0000000694869442\n",
      "Epoch: 45230/50000, Loss: 0.0000000392770438\n",
      "Epoch: 45240/50000, Loss: 0.0000000522946664\n",
      "Epoch: 45250/50000, Loss: 0.0000001769534208\n",
      "Epoch: 45260/50000, Loss: 0.0000020148759177\n",
      "Epoch: 45270/50000, Loss: 0.0000000669281448\n",
      "Epoch: 45280/50000, Loss: 0.0000000782047636\n",
      "Epoch: 45290/50000, Loss: 0.0000000822245312\n",
      "Epoch: 45300/50000, Loss: 0.0000000870426362\n",
      "Epoch: 45310/50000, Loss: 0.0000000566858596\n",
      "Epoch: 45320/50000, Loss: 0.0000000223213270\n",
      "Epoch: 45330/50000, Loss: 0.0000000324229426\n",
      "Epoch: 45340/50000, Loss: 0.0000000357483856\n",
      "Epoch: 45350/50000, Loss: 0.0000000974541052\n",
      "Epoch: 45360/50000, Loss: 0.0000013078135908\n",
      "Epoch: 45370/50000, Loss: 0.0000014014181033\n",
      "Epoch: 45380/50000, Loss: 0.0000003244283278\n",
      "Epoch: 45390/50000, Loss: 0.0000000545994183\n",
      "Epoch: 45400/50000, Loss: 0.0000000275057168\n",
      "Epoch: 45410/50000, Loss: 0.0000000290182207\n",
      "Epoch: 45420/50000, Loss: 0.0000000358317607\n",
      "Epoch: 45430/50000, Loss: 0.0000000341149402\n",
      "Epoch: 45440/50000, Loss: 0.0000000840563743\n",
      "Epoch: 45450/50000, Loss: 0.0000030093826808\n",
      "Epoch: 45460/50000, Loss: 0.0000016518067696\n",
      "Epoch: 45470/50000, Loss: 0.0000002933876431\n",
      "Epoch: 45480/50000, Loss: 0.0000003130473658\n",
      "Epoch: 45490/50000, Loss: 0.0000000488064344\n",
      "Epoch: 45500/50000, Loss: 0.0000000442062742\n",
      "Epoch: 45510/50000, Loss: 0.0000000367958677\n",
      "Epoch: 45520/50000, Loss: 0.0000000333713004\n",
      "Epoch: 45530/50000, Loss: 0.0000000743275024\n",
      "Epoch: 45540/50000, Loss: 0.0000008825154509\n",
      "Epoch: 45550/50000, Loss: 0.0000025761696634\n",
      "Epoch: 45560/50000, Loss: 0.0000008016190804\n",
      "Epoch: 45570/50000, Loss: 0.0000002213891293\n",
      "Epoch: 45580/50000, Loss: 0.0000001006190118\n",
      "Epoch: 45590/50000, Loss: 0.0000000615609252\n",
      "Epoch: 45600/50000, Loss: 0.0000000342170843\n",
      "Epoch: 45610/50000, Loss: 0.0000000233951205\n",
      "Epoch: 45620/50000, Loss: 0.0000000274743570\n",
      "Epoch: 45630/50000, Loss: 0.0000000255580321\n",
      "Epoch: 45640/50000, Loss: 0.0000000338754589\n",
      "Epoch: 45650/50000, Loss: 0.0000002037595976\n",
      "Epoch: 45660/50000, Loss: 0.0000039906876736\n",
      "Epoch: 45670/50000, Loss: 0.0000017607104610\n",
      "Epoch: 45680/50000, Loss: 0.0000005714035751\n",
      "Epoch: 45690/50000, Loss: 0.0000000791947272\n",
      "Epoch: 45700/50000, Loss: 0.0000001168447525\n",
      "Epoch: 45710/50000, Loss: 0.0000000442244712\n",
      "Epoch: 45720/50000, Loss: 0.0000000279338170\n",
      "Epoch: 45730/50000, Loss: 0.0000000362258241\n",
      "Epoch: 45740/50000, Loss: 0.0000001932163514\n",
      "Epoch: 45750/50000, Loss: 0.0000033391443139\n",
      "Epoch: 45760/50000, Loss: 0.0000007432154234\n",
      "Epoch: 45770/50000, Loss: 0.0000005486539294\n",
      "Epoch: 45780/50000, Loss: 0.0000002451656940\n",
      "Epoch: 45790/50000, Loss: 0.0000000905961386\n",
      "Epoch: 45800/50000, Loss: 0.0000000470091912\n",
      "Epoch: 45810/50000, Loss: 0.0000000338578054\n",
      "Epoch: 45820/50000, Loss: 0.0000000271711311\n",
      "Epoch: 45830/50000, Loss: 0.0000000229700383\n",
      "Epoch: 45840/50000, Loss: 0.0000000334164625\n",
      "Epoch: 45850/50000, Loss: 0.0000003562284405\n",
      "Epoch: 45860/50000, Loss: 0.0000038906823647\n",
      "Epoch: 45870/50000, Loss: 0.0000001097138451\n",
      "Epoch: 45880/50000, Loss: 0.0000005208260063\n",
      "Epoch: 45890/50000, Loss: 0.0000001339186895\n",
      "Epoch: 45900/50000, Loss: 0.0000000557073818\n",
      "Epoch: 45910/50000, Loss: 0.0000000606546280\n",
      "Epoch: 45920/50000, Loss: 0.0000000317861435\n",
      "Epoch: 45930/50000, Loss: 0.0000000370479079\n",
      "Epoch: 45940/50000, Loss: 0.0000002073092276\n",
      "Epoch: 45950/50000, Loss: 0.0000036591925436\n",
      "Epoch: 45960/50000, Loss: 0.0000009405486026\n",
      "Epoch: 45970/50000, Loss: 0.0000006153692311\n",
      "Epoch: 45980/50000, Loss: 0.0000002161272050\n",
      "Epoch: 45990/50000, Loss: 0.0000000621079153\n",
      "Epoch: 46000/50000, Loss: 0.0000000347644047\n",
      "Epoch: 46010/50000, Loss: 0.0000000303491525\n",
      "Epoch: 46020/50000, Loss: 0.0000000271060294\n",
      "Epoch: 46030/50000, Loss: 0.0000000233220536\n",
      "Epoch: 46040/50000, Loss: 0.0000000227117969\n",
      "Epoch: 46050/50000, Loss: 0.0000000312574961\n",
      "Epoch: 46060/50000, Loss: 0.0000004554408974\n",
      "Epoch: 46070/50000, Loss: 0.0000036050500967\n",
      "Epoch: 46080/50000, Loss: 0.0000003497036118\n",
      "Epoch: 46090/50000, Loss: 0.0000002921224791\n",
      "Epoch: 46100/50000, Loss: 0.0000002590368240\n",
      "Epoch: 46110/50000, Loss: 0.0000000549497265\n",
      "Epoch: 46120/50000, Loss: 0.0000000452117348\n",
      "Epoch: 46130/50000, Loss: 0.0000000319940270\n",
      "Epoch: 46140/50000, Loss: 0.0000000359132599\n",
      "Epoch: 46150/50000, Loss: 0.0000000819534733\n",
      "Epoch: 46160/50000, Loss: 0.0000009498024269\n",
      "Epoch: 46170/50000, Loss: 0.0000019631547730\n",
      "Epoch: 46180/50000, Loss: 0.0000006233318004\n",
      "Epoch: 46190/50000, Loss: 0.0000001815785140\n",
      "Epoch: 46200/50000, Loss: 0.0000000905035336\n",
      "Epoch: 46210/50000, Loss: 0.0000000624933350\n",
      "Epoch: 46220/50000, Loss: 0.0000000371435966\n",
      "Epoch: 46230/50000, Loss: 0.0000000225524239\n",
      "Epoch: 46240/50000, Loss: 0.0000000271464735\n",
      "Epoch: 46250/50000, Loss: 0.0000000256482444\n",
      "Epoch: 46260/50000, Loss: 0.0000000351248630\n",
      "Epoch: 46270/50000, Loss: 0.0000002350766692\n",
      "Epoch: 46280/50000, Loss: 0.0000046909312914\n",
      "Epoch: 46290/50000, Loss: 0.0000017329272168\n",
      "Epoch: 46300/50000, Loss: 0.0000007645920732\n",
      "Epoch: 46310/50000, Loss: 0.0000000934710656\n",
      "Epoch: 46320/50000, Loss: 0.0000000250472425\n",
      "Epoch: 46330/50000, Loss: 0.0000000324511582\n",
      "Epoch: 46340/50000, Loss: 0.0000000280785883\n",
      "Epoch: 46350/50000, Loss: 0.0000000266049476\n",
      "Epoch: 46360/50000, Loss: 0.0000000990545246\n",
      "Epoch: 46370/50000, Loss: 0.0000027883734219\n",
      "Epoch: 46380/50000, Loss: 0.0000007315237553\n",
      "Epoch: 46390/50000, Loss: 0.0000005844041198\n",
      "Epoch: 46400/50000, Loss: 0.0000000334677246\n",
      "Epoch: 46410/50000, Loss: 0.0000000653633379\n",
      "Epoch: 46420/50000, Loss: 0.0000000592539671\n",
      "Epoch: 46430/50000, Loss: 0.0000000346090090\n",
      "Epoch: 46440/50000, Loss: 0.0000000247105163\n",
      "Epoch: 46450/50000, Loss: 0.0000000234285356\n",
      "Epoch: 46460/50000, Loss: 0.0000000249274201\n",
      "Epoch: 46470/50000, Loss: 0.0000000530677724\n",
      "Epoch: 46480/50000, Loss: 0.0000010537665958\n",
      "Epoch: 46490/50000, Loss: 0.0000022550543690\n",
      "Epoch: 46500/50000, Loss: 0.0000000451729463\n",
      "Epoch: 46510/50000, Loss: 0.0000004827555813\n",
      "Epoch: 46520/50000, Loss: 0.0000001770861786\n",
      "Epoch: 46530/50000, Loss: 0.0000000290632762\n",
      "Epoch: 46540/50000, Loss: 0.0000000239735840\n",
      "Epoch: 46550/50000, Loss: 0.0000000244654927\n",
      "Epoch: 46560/50000, Loss: 0.0000000227500330\n",
      "Epoch: 46570/50000, Loss: 0.0000000221137402\n",
      "Epoch: 46580/50000, Loss: 0.0000000230341488\n",
      "Epoch: 46590/50000, Loss: 0.0000000411588204\n",
      "Epoch: 46600/50000, Loss: 0.0000011673632798\n",
      "Epoch: 46610/50000, Loss: 0.0000004289117896\n",
      "Epoch: 46620/50000, Loss: 0.0000007064938927\n",
      "Epoch: 46630/50000, Loss: 0.0000001171079020\n",
      "Epoch: 46640/50000, Loss: 0.0000001374756522\n",
      "Epoch: 46650/50000, Loss: 0.0000001051014351\n",
      "Epoch: 46660/50000, Loss: 0.0000005923590720\n",
      "Epoch: 46670/50000, Loss: 0.0000023033103389\n",
      "Epoch: 46680/50000, Loss: 0.0000005844753446\n",
      "Epoch: 46690/50000, Loss: 0.0000001002264298\n",
      "Epoch: 46700/50000, Loss: 0.0000000289666851\n",
      "Epoch: 46710/50000, Loss: 0.0000000773738833\n",
      "Epoch: 46720/50000, Loss: 0.0000000228966712\n",
      "Epoch: 46730/50000, Loss: 0.0000000406540472\n",
      "Epoch: 46740/50000, Loss: 0.0000000881876048\n",
      "Epoch: 46750/50000, Loss: 0.0000007054838420\n",
      "Epoch: 46760/50000, Loss: 0.0000026332286325\n",
      "Epoch: 46770/50000, Loss: 0.0000009333665503\n",
      "Epoch: 46780/50000, Loss: 0.0000003713369665\n",
      "Epoch: 46790/50000, Loss: 0.0000001380650190\n",
      "Epoch: 46800/50000, Loss: 0.0000000376941287\n",
      "Epoch: 46810/50000, Loss: 0.0000000320237206\n",
      "Epoch: 46820/50000, Loss: 0.0000000594228879\n",
      "Epoch: 46830/50000, Loss: 0.0000006962926591\n",
      "Epoch: 46840/50000, Loss: 0.0000006433286330\n",
      "Epoch: 46850/50000, Loss: 0.0000004803840739\n",
      "Epoch: 46860/50000, Loss: 0.0000004699710701\n",
      "Epoch: 46870/50000, Loss: 0.0000001310913689\n",
      "Epoch: 46880/50000, Loss: 0.0000000616530826\n",
      "Epoch: 46890/50000, Loss: 0.0000001147795246\n",
      "Epoch: 46900/50000, Loss: 0.0000012204793620\n",
      "Epoch: 46910/50000, Loss: 0.0000010471003407\n",
      "Epoch: 46920/50000, Loss: 0.0000003823080874\n",
      "Epoch: 46930/50000, Loss: 0.0000001274824655\n",
      "Epoch: 46940/50000, Loss: 0.0000000574123291\n",
      "Epoch: 46950/50000, Loss: 0.0000000482428391\n",
      "Epoch: 46960/50000, Loss: 0.0000000419096686\n",
      "Epoch: 46970/50000, Loss: 0.0000000281137602\n",
      "Epoch: 46980/50000, Loss: 0.0000000477494773\n",
      "Epoch: 46990/50000, Loss: 0.0000003943304421\n",
      "Epoch: 47000/50000, Loss: 0.0000022748572519\n",
      "Epoch: 47010/50000, Loss: 0.0000011271818039\n",
      "Epoch: 47020/50000, Loss: 0.0000000440605206\n",
      "Epoch: 47030/50000, Loss: 0.0000001669714180\n",
      "Epoch: 47040/50000, Loss: 0.0000000866914434\n",
      "Epoch: 47050/50000, Loss: 0.0000000562775710\n",
      "Epoch: 47060/50000, Loss: 0.0000001601493693\n",
      "Epoch: 47070/50000, Loss: 0.0000022000945137\n",
      "Epoch: 47080/50000, Loss: 0.0000000519206189\n",
      "Epoch: 47090/50000, Loss: 0.0000000949195780\n",
      "Epoch: 47100/50000, Loss: 0.0000000885699052\n",
      "Epoch: 47110/50000, Loss: 0.0000000434342944\n",
      "Epoch: 47120/50000, Loss: 0.0000000261009436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 47130/50000, Loss: 0.0000000246975418\n",
      "Epoch: 47140/50000, Loss: 0.0000000285967534\n",
      "Epoch: 47150/50000, Loss: 0.0000000232083615\n",
      "Epoch: 47160/50000, Loss: 0.0000000770825537\n",
      "Epoch: 47170/50000, Loss: 0.0000032173543332\n",
      "Epoch: 47180/50000, Loss: 0.0000029243294648\n",
      "Epoch: 47190/50000, Loss: 0.0000001854870533\n",
      "Epoch: 47200/50000, Loss: 0.0000001928964082\n",
      "Epoch: 47210/50000, Loss: 0.0000001431842378\n",
      "Epoch: 47220/50000, Loss: 0.0000000414937134\n",
      "Epoch: 47230/50000, Loss: 0.0000000361953134\n",
      "Epoch: 47240/50000, Loss: 0.0000000283219173\n",
      "Epoch: 47250/50000, Loss: 0.0000001087050663\n",
      "Epoch: 47260/50000, Loss: 0.0000031830616081\n",
      "Epoch: 47270/50000, Loss: 0.0000009049485925\n",
      "Epoch: 47280/50000, Loss: 0.0000009474409239\n",
      "Epoch: 47290/50000, Loss: 0.0000001036915691\n",
      "Epoch: 47300/50000, Loss: 0.0000000836188718\n",
      "Epoch: 47310/50000, Loss: 0.0000000560812516\n",
      "Epoch: 47320/50000, Loss: 0.0000000284595991\n",
      "Epoch: 47330/50000, Loss: 0.0000000230896706\n",
      "Epoch: 47340/50000, Loss: 0.0000000228378969\n",
      "Epoch: 47350/50000, Loss: 0.0000000226150760\n",
      "Epoch: 47360/50000, Loss: 0.0000000222747296\n",
      "Epoch: 47370/50000, Loss: 0.0000000219434302\n",
      "Epoch: 47380/50000, Loss: 0.0000000220721397\n",
      "Epoch: 47390/50000, Loss: 0.0000000246683332\n",
      "Epoch: 47400/50000, Loss: 0.0000001316826541\n",
      "Epoch: 47410/50000, Loss: 0.0000048788251661\n",
      "Epoch: 47420/50000, Loss: 0.0000021126691081\n",
      "Epoch: 47430/50000, Loss: 0.0000006293195725\n",
      "Epoch: 47440/50000, Loss: 0.0000001060840091\n",
      "Epoch: 47450/50000, Loss: 0.0000001396983151\n",
      "Epoch: 47460/50000, Loss: 0.0000000600710663\n",
      "Epoch: 47470/50000, Loss: 0.0000000254271217\n",
      "Epoch: 47480/50000, Loss: 0.0000000300260794\n",
      "Epoch: 47490/50000, Loss: 0.0000000268741953\n",
      "Epoch: 47500/50000, Loss: 0.0000000347820368\n",
      "Epoch: 47510/50000, Loss: 0.0000002163153141\n",
      "Epoch: 47520/50000, Loss: 0.0000039482624743\n",
      "Epoch: 47530/50000, Loss: 0.0000012780371890\n",
      "Epoch: 47540/50000, Loss: 0.0000006574113627\n",
      "Epoch: 47550/50000, Loss: 0.0000001717380798\n",
      "Epoch: 47560/50000, Loss: 0.0000000524966204\n",
      "Epoch: 47570/50000, Loss: 0.0000000347944606\n",
      "Epoch: 47580/50000, Loss: 0.0000000269035496\n",
      "Epoch: 47590/50000, Loss: 0.0000000225155006\n",
      "Epoch: 47600/50000, Loss: 0.0000000237573676\n",
      "Epoch: 47610/50000, Loss: 0.0000000222163390\n",
      "Epoch: 47620/50000, Loss: 0.0000000222883330\n",
      "Epoch: 47630/50000, Loss: 0.0000000240942857\n",
      "Epoch: 47640/50000, Loss: 0.0000000830294340\n",
      "Epoch: 47650/50000, Loss: 0.0000028914714676\n",
      "Epoch: 47660/50000, Loss: 0.0000029020980037\n",
      "Epoch: 47670/50000, Loss: 0.0000004265622522\n",
      "Epoch: 47680/50000, Loss: 0.0000004752899372\n",
      "Epoch: 47690/50000, Loss: 0.0000001235774505\n",
      "Epoch: 47700/50000, Loss: 0.0000000425631015\n",
      "Epoch: 47710/50000, Loss: 0.0000000381465597\n",
      "Epoch: 47720/50000, Loss: 0.0000000272016827\n",
      "Epoch: 47730/50000, Loss: 0.0000000248644945\n",
      "Epoch: 47740/50000, Loss: 0.0000000245872336\n",
      "Epoch: 47750/50000, Loss: 0.0000000399501303\n",
      "Epoch: 47760/50000, Loss: 0.0000005908252660\n",
      "Epoch: 47770/50000, Loss: 0.0000041041412260\n",
      "Epoch: 47780/50000, Loss: 0.0000003515618801\n",
      "Epoch: 47790/50000, Loss: 0.0000002340487697\n",
      "Epoch: 47800/50000, Loss: 0.0000002027824451\n",
      "Epoch: 47810/50000, Loss: 0.0000000354000740\n",
      "Epoch: 47820/50000, Loss: 0.0000000238171616\n",
      "Epoch: 47830/50000, Loss: 0.0000000259963908\n",
      "Epoch: 47840/50000, Loss: 0.0000000240672708\n",
      "Epoch: 47850/50000, Loss: 0.0000000223536265\n",
      "Epoch: 47860/50000, Loss: 0.0000000219133476\n",
      "Epoch: 47870/50000, Loss: 0.0000000221700738\n",
      "Epoch: 47880/50000, Loss: 0.0000000237129250\n",
      "Epoch: 47890/50000, Loss: 0.0000000945793985\n",
      "Epoch: 47900/50000, Loss: 0.0000036201054172\n",
      "Epoch: 47910/50000, Loss: 0.0000025928129617\n",
      "Epoch: 47920/50000, Loss: 0.0000003290199402\n",
      "Epoch: 47930/50000, Loss: 0.0000001464032522\n",
      "Epoch: 47940/50000, Loss: 0.0000001296139231\n",
      "Epoch: 47950/50000, Loss: 0.0000000320608997\n",
      "Epoch: 47960/50000, Loss: 0.0000000396557489\n",
      "Epoch: 47970/50000, Loss: 0.0000000867797922\n",
      "Epoch: 47980/50000, Loss: 0.0000008056342153\n",
      "Epoch: 47990/50000, Loss: 0.0000020758457140\n",
      "Epoch: 48000/50000, Loss: 0.0000007916872846\n",
      "Epoch: 48010/50000, Loss: 0.0000003102663015\n",
      "Epoch: 48020/50000, Loss: 0.0000001464405699\n",
      "Epoch: 48030/50000, Loss: 0.0000000669554581\n",
      "Epoch: 48040/50000, Loss: 0.0000000240033167\n",
      "Epoch: 48050/50000, Loss: 0.0000000300137053\n",
      "Epoch: 48060/50000, Loss: 0.0000000219159304\n",
      "Epoch: 48070/50000, Loss: 0.0000000245588048\n",
      "Epoch: 48080/50000, Loss: 0.0000000466804551\n",
      "Epoch: 48090/50000, Loss: 0.0000006180677019\n",
      "Epoch: 48100/50000, Loss: 0.0000042550004764\n",
      "Epoch: 48110/50000, Loss: 0.0000008357644106\n",
      "Epoch: 48120/50000, Loss: 0.0000000265382987\n",
      "Epoch: 48130/50000, Loss: 0.0000001414434081\n",
      "Epoch: 48140/50000, Loss: 0.0000001046744984\n",
      "Epoch: 48150/50000, Loss: 0.0000000812913967\n",
      "Epoch: 48160/50000, Loss: 0.0000004658107571\n",
      "Epoch: 48170/50000, Loss: 0.0000010922950651\n",
      "Epoch: 48180/50000, Loss: 0.0000003295630790\n",
      "Epoch: 48190/50000, Loss: 0.0000001138402723\n",
      "Epoch: 48200/50000, Loss: 0.0000000637534399\n",
      "Epoch: 48210/50000, Loss: 0.0000000495130514\n",
      "Epoch: 48220/50000, Loss: 0.0000000293619955\n",
      "Epoch: 48230/50000, Loss: 0.0000000227386909\n",
      "Epoch: 48240/50000, Loss: 0.0000000235662778\n",
      "Epoch: 48250/50000, Loss: 0.0000000292611162\n",
      "Epoch: 48260/50000, Loss: 0.0000002553015293\n",
      "Epoch: 48270/50000, Loss: 0.0000087166154117\n",
      "Epoch: 48280/50000, Loss: 0.0000008895334531\n",
      "Epoch: 48290/50000, Loss: 0.0000011904896837\n",
      "Epoch: 48300/50000, Loss: 0.0000002897058664\n",
      "Epoch: 48310/50000, Loss: 0.0000000235863631\n",
      "Epoch: 48320/50000, Loss: 0.0000000713691293\n",
      "Epoch: 48330/50000, Loss: 0.0000000323530145\n",
      "Epoch: 48340/50000, Loss: 0.0000000284659105\n",
      "Epoch: 48350/50000, Loss: 0.0000000368127218\n",
      "Epoch: 48360/50000, Loss: 0.0000001976461164\n",
      "Epoch: 48370/50000, Loss: 0.0000021831042432\n",
      "Epoch: 48380/50000, Loss: 0.0000005798625580\n",
      "Epoch: 48390/50000, Loss: 0.0000002197326268\n",
      "Epoch: 48400/50000, Loss: 0.0000000812928960\n",
      "Epoch: 48410/50000, Loss: 0.0000000280989010\n",
      "Epoch: 48420/50000, Loss: 0.0000000315887974\n",
      "Epoch: 48430/50000, Loss: 0.0000000290974018\n",
      "Epoch: 48440/50000, Loss: 0.0000000271892358\n",
      "Epoch: 48450/50000, Loss: 0.0000000266039741\n",
      "Epoch: 48460/50000, Loss: 0.0000000558605784\n",
      "Epoch: 48470/50000, Loss: 0.0000008416194532\n",
      "Epoch: 48480/50000, Loss: 0.0000022076774258\n",
      "Epoch: 48490/50000, Loss: 0.0000004999373004\n",
      "Epoch: 48500/50000, Loss: 0.0000003236305304\n",
      "Epoch: 48510/50000, Loss: 0.0000001259622593\n",
      "Epoch: 48520/50000, Loss: 0.0000000417572217\n",
      "Epoch: 48530/50000, Loss: 0.0000000331087939\n",
      "Epoch: 48540/50000, Loss: 0.0000000258022936\n",
      "Epoch: 48550/50000, Loss: 0.0000000237585791\n",
      "Epoch: 48560/50000, Loss: 0.0000000289535311\n",
      "Epoch: 48570/50000, Loss: 0.0000001791550233\n",
      "Epoch: 48580/50000, Loss: 0.0000049685722843\n",
      "Epoch: 48590/50000, Loss: 0.0000022187712148\n",
      "Epoch: 48600/50000, Loss: 0.0000003223541967\n",
      "Epoch: 48610/50000, Loss: 0.0000001018339191\n",
      "Epoch: 48620/50000, Loss: 0.0000001285220605\n",
      "Epoch: 48630/50000, Loss: 0.0000000393485280\n",
      "Epoch: 48640/50000, Loss: 0.0000000305643262\n",
      "Epoch: 48650/50000, Loss: 0.0000001708872190\n",
      "Epoch: 48660/50000, Loss: 0.0000024547866815\n",
      "Epoch: 48670/50000, Loss: 0.0000007854335990\n",
      "Epoch: 48680/50000, Loss: 0.0000001821965583\n",
      "Epoch: 48690/50000, Loss: 0.0000000323241984\n",
      "Epoch: 48700/50000, Loss: 0.0000000306237098\n",
      "Epoch: 48710/50000, Loss: 0.0000000247515892\n",
      "Epoch: 48720/50000, Loss: 0.0000000261519482\n",
      "Epoch: 48730/50000, Loss: 0.0000000257655159\n",
      "Epoch: 48740/50000, Loss: 0.0000000303405514\n",
      "Epoch: 48750/50000, Loss: 0.0000002062273126\n",
      "Epoch: 48760/50000, Loss: 0.0000050734370234\n",
      "Epoch: 48770/50000, Loss: 0.0000021801408820\n",
      "Epoch: 48780/50000, Loss: 0.0000004533074787\n",
      "Epoch: 48790/50000, Loss: 0.0000000371954734\n",
      "Epoch: 48800/50000, Loss: 0.0000001085998989\n",
      "Epoch: 48810/50000, Loss: 0.0000000623587795\n",
      "Epoch: 48820/50000, Loss: 0.0000000352512970\n",
      "Epoch: 48830/50000, Loss: 0.0000000548756347\n",
      "Epoch: 48840/50000, Loss: 0.0000009851419236\n",
      "Epoch: 48850/50000, Loss: 0.0000000344391751\n",
      "Epoch: 48860/50000, Loss: 0.0000003558688491\n",
      "Epoch: 48870/50000, Loss: 0.0000002051762351\n",
      "Epoch: 48880/50000, Loss: 0.0000000410788772\n",
      "Epoch: 48890/50000, Loss: 0.0000000222893721\n",
      "Epoch: 48900/50000, Loss: 0.0000000220997762\n",
      "Epoch: 48910/50000, Loss: 0.0000000219239542\n",
      "Epoch: 48920/50000, Loss: 0.0000000232147279\n",
      "Epoch: 48930/50000, Loss: 0.0000000624391205\n",
      "Epoch: 48940/50000, Loss: 0.0000029053578601\n",
      "Epoch: 48950/50000, Loss: 0.0000015424602680\n",
      "Epoch: 48960/50000, Loss: 0.0000007568445426\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 48970/50000, Loss: 0.0000004178506856\n",
      "Epoch: 48980/50000, Loss: 0.0000000291969453\n",
      "Epoch: 48990/50000, Loss: 0.0000000875829258\n",
      "Epoch: 49000/50000, Loss: 0.0000000232190942\n",
      "Epoch: 49010/50000, Loss: 0.0000000299958671\n",
      "Epoch: 49020/50000, Loss: 0.0000000272936056\n",
      "Epoch: 49030/50000, Loss: 0.0000001085680310\n",
      "Epoch: 49040/50000, Loss: 0.0000028195199775\n",
      "Epoch: 49050/50000, Loss: 0.0000011593106137\n",
      "Epoch: 49060/50000, Loss: 0.0000001059086472\n",
      "Epoch: 49070/50000, Loss: 0.0000001248188966\n",
      "Epoch: 49080/50000, Loss: 0.0000000776229996\n",
      "Epoch: 49090/50000, Loss: 0.0000000307479162\n",
      "Epoch: 49100/50000, Loss: 0.0000000226629027\n",
      "Epoch: 49110/50000, Loss: 0.0000000226556089\n",
      "Epoch: 49120/50000, Loss: 0.0000000220927756\n",
      "Epoch: 49130/50000, Loss: 0.0000000220914096\n",
      "Epoch: 49140/50000, Loss: 0.0000000218836682\n",
      "Epoch: 49150/50000, Loss: 0.0000000222989787\n",
      "Epoch: 49160/50000, Loss: 0.0000000625263255\n",
      "Epoch: 49170/50000, Loss: 0.0000043440327318\n",
      "Epoch: 49180/50000, Loss: 0.0000042863298404\n",
      "Epoch: 49190/50000, Loss: 0.0000001326083776\n",
      "Epoch: 49200/50000, Loss: 0.0000001785667649\n",
      "Epoch: 49210/50000, Loss: 0.0000002218802422\n",
      "Epoch: 49220/50000, Loss: 0.0000000671318432\n",
      "Epoch: 49230/50000, Loss: 0.0000000249944438\n",
      "Epoch: 49240/50000, Loss: 0.0000000331999281\n",
      "Epoch: 49250/50000, Loss: 0.0000000238447662\n",
      "Epoch: 49260/50000, Loss: 0.0000000399602627\n",
      "Epoch: 49270/50000, Loss: 0.0000005003446972\n",
      "Epoch: 49280/50000, Loss: 0.0000010018241028\n",
      "Epoch: 49290/50000, Loss: 0.0000000281579275\n",
      "Epoch: 49300/50000, Loss: 0.0000001609199387\n",
      "Epoch: 49310/50000, Loss: 0.0000001068926068\n",
      "Epoch: 49320/50000, Loss: 0.0000000480763056\n",
      "Epoch: 49330/50000, Loss: 0.0000000307246601\n",
      "Epoch: 49340/50000, Loss: 0.0000000259438337\n",
      "Epoch: 49350/50000, Loss: 0.0000000237561260\n",
      "Epoch: 49360/50000, Loss: 0.0000000221895924\n",
      "Epoch: 49370/50000, Loss: 0.0000000220623164\n",
      "Epoch: 49380/50000, Loss: 0.0000000218513154\n",
      "Epoch: 49390/50000, Loss: 0.0000000221004868\n",
      "Epoch: 49400/50000, Loss: 0.0000000269575029\n",
      "Epoch: 49410/50000, Loss: 0.0000002249507531\n",
      "Epoch: 49420/50000, Loss: 0.0000067454393502\n",
      "Epoch: 49430/50000, Loss: 0.0000020671402581\n",
      "Epoch: 49440/50000, Loss: 0.0000015336006527\n",
      "Epoch: 49450/50000, Loss: 0.0000004329662602\n",
      "Epoch: 49460/50000, Loss: 0.0000001313383251\n",
      "Epoch: 49470/50000, Loss: 0.0000000712351635\n",
      "Epoch: 49480/50000, Loss: 0.0000000255633665\n",
      "Epoch: 49490/50000, Loss: 0.0000000394046928\n",
      "Epoch: 49500/50000, Loss: 0.0000000260145239\n",
      "Epoch: 49510/50000, Loss: 0.0000000257160515\n",
      "Epoch: 49520/50000, Loss: 0.0000000253404657\n",
      "Epoch: 49530/50000, Loss: 0.0000000419614352\n",
      "Epoch: 49540/50000, Loss: 0.0000004449493645\n",
      "Epoch: 49550/50000, Loss: 0.0000014119361822\n",
      "Epoch: 49560/50000, Loss: 0.0000001945137740\n",
      "Epoch: 49570/50000, Loss: 0.0000000258284416\n",
      "Epoch: 49580/50000, Loss: 0.0000000565532829\n",
      "Epoch: 49590/50000, Loss: 0.0000000317596864\n",
      "Epoch: 49600/50000, Loss: 0.0000000261991708\n",
      "Epoch: 49610/50000, Loss: 0.0000000420830659\n",
      "Epoch: 49620/50000, Loss: 0.0000003964435678\n",
      "Epoch: 49630/50000, Loss: 0.0000043968393584\n",
      "Epoch: 49640/50000, Loss: 0.0000014492632090\n",
      "Epoch: 49650/50000, Loss: 0.0000002794189982\n",
      "Epoch: 49660/50000, Loss: 0.0000000303528438\n",
      "Epoch: 49670/50000, Loss: 0.0000000253071395\n",
      "Epoch: 49680/50000, Loss: 0.0000000245965790\n",
      "Epoch: 49690/50000, Loss: 0.0000000237517188\n",
      "Epoch: 49700/50000, Loss: 0.0000000611934610\n",
      "Epoch: 49710/50000, Loss: 0.0000015887933387\n",
      "Epoch: 49720/50000, Loss: 0.0000004880909614\n",
      "Epoch: 49730/50000, Loss: 0.0000005373183853\n",
      "Epoch: 49740/50000, Loss: 0.0000000289878184\n",
      "Epoch: 49750/50000, Loss: 0.0000000629051087\n",
      "Epoch: 49760/50000, Loss: 0.0000000507461309\n",
      "Epoch: 49770/50000, Loss: 0.0000000459770391\n",
      "Epoch: 49780/50000, Loss: 0.0000005038781978\n",
      "Epoch: 49790/50000, Loss: 0.0000045635088100\n",
      "Epoch: 49800/50000, Loss: 0.0000005645969168\n",
      "Epoch: 49810/50000, Loss: 0.0000001714862776\n",
      "Epoch: 49820/50000, Loss: 0.0000002225877154\n",
      "Epoch: 49830/50000, Loss: 0.0000000492523959\n",
      "Epoch: 49840/50000, Loss: 0.0000000227782806\n",
      "Epoch: 49850/50000, Loss: 0.0000000239678108\n",
      "Epoch: 49860/50000, Loss: 0.0000000231540103\n",
      "Epoch: 49870/50000, Loss: 0.0000000220847571\n",
      "Epoch: 49880/50000, Loss: 0.0000000219676330\n",
      "Epoch: 49890/50000, Loss: 0.0000000232878854\n",
      "Epoch: 49900/50000, Loss: 0.0000000743181161\n",
      "Epoch: 49910/50000, Loss: 0.0000030959581636\n",
      "Epoch: 49920/50000, Loss: 0.0000020520587896\n",
      "Epoch: 49930/50000, Loss: 0.0000000602472099\n",
      "Epoch: 49940/50000, Loss: 0.0000002608543070\n",
      "Epoch: 49950/50000, Loss: 0.0000000858374705\n",
      "Epoch: 49960/50000, Loss: 0.0000000932187234\n",
      "Epoch: 49970/50000, Loss: 0.0000003285582011\n",
      "Epoch: 49980/50000, Loss: 0.0000025948670554\n",
      "Epoch: 49990/50000, Loss: 0.0000004064236236\n",
      "Epoch: 50000/50000, Loss: 0.0000001000000935\n"
     ]
    }
   ],
   "source": [
    "# Create LEM instance\n",
    "lem = LEM(input_size, hidden_size, output_size, dt=0.1)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(lem.parameters(), lr=0.001)\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Forward pass\n",
    "    output = lem(input_tensor)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch + 1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {loss.item():.16f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "1da66d64",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 20, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 20, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "a0543daa",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    prediction = lem(test_tensor)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(19):\n",
    "        prediction = lem(prediction)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction\n",
    "        "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e6b9bad",
   "metadata": {},
   "source": [
    "### Four different types of error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "9c33b0f5",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exact Solution\n",
    "\n",
    "u_test = u.T\n",
    "u_test_full = u_test[80:100, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "00c8fa22",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([20, 256])"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "334bf0be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([20, 256])"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extrapolation\n",
    "\n",
    "k1 = ( prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "u_test_full_tensor.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01080c4f",
   "metadata": {},
   "source": [
    "### L^2 norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "33c17bd8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.0010257702330723959\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa3fa35b",
   "metadata": {},
   "source": [
    "### Max absolute norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "01cf8637",
   "metadata": {},
   "outputs": [],
   "source": [
    "R_abs = torch.max(torch.abs(prediction_tensor - u_test_full))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "b3e65482",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0906, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "678810f2",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "02c72385",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.9884500260975663\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "# a = torch.tensor(a)\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f664baf6",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "43fc2394",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  tensor(0.0241, dtype=torch.float64) %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test, \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75e50e9e",
   "metadata": {},
   "source": [
    "### Contour plot for PINN (80 percent) and (20 percentage lem prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "8e3eec75",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([20, 256])\n"
     ]
    }
   ],
   "source": [
    "print(prediction_tensor.shape)\n",
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "input_tensor = torch.squeeze(input_tensor)\n",
    "\n",
    "conc_u = torch.squeeze(input_tensor)\n",
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "x1 = np.linspace(-0.5, 1, 100)\n",
    "t1 = np.linspace(-0.5, 0.5, 256)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e393a1e0",
   "metadata": {},
   "source": [
    "### Snapshot time plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "04f91104",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "x and y must have same first dimension, but have shapes (100,) and (256, 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_40050/560423937.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m \u001b[0;31m# Plot the data with red and blue lines, one with dotted and one with solid style\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfinal_out\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'red'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'dotted'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinewidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Prediction'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     14\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfinal_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'blue'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'solid'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinewidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m7\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'True'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1603\u001b[0m         \"\"\"\n\u001b[1;32m   1604\u001b[0m         \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1605\u001b[0;31m         \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1606\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1607\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m    313\u001b[0m                 \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    314\u001b[0m                 \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 315\u001b[0;31m             \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    316\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    317\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs, return_kwargs)\u001b[0m\n\u001b[1;32m    499\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    500\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 501\u001b[0;31m             raise ValueError(f\"x and y must have same first dimension, but \"\n\u001b[0m\u001b[1;32m    502\u001b[0m                              f\"have shapes {x.shape} and {y.shape}\")\n\u001b[1;32m    503\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (100,) and (256, 1)"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "final_time_output = prediction_tensor[3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u[83, :].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x1, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x1, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 0.83}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-1, 0, 1])\n",
    "ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_0.83_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.83_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "3d96305e",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "x and y must have same first dimension, but have shapes (100,) and (256, 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_40050/2285404.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     14\u001b[0m \u001b[0;31m# Plot the data with red and blue lines, one with dotted and one with solid style\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfinal_out\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'red'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'dotted'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinewidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Prediction'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     16\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfinal_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'blue'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'solid'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinewidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m7\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'True'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1603\u001b[0m         \"\"\"\n\u001b[1;32m   1604\u001b[0m         \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1605\u001b[0;31m         \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1606\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1607\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m    313\u001b[0m                 \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    314\u001b[0m                 \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 315\u001b[0;31m             \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    316\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    317\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs, return_kwargs)\u001b[0m\n\u001b[1;32m    499\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    500\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 501\u001b[0;31m             raise ValueError(f\"x and y must have same first dimension, but \"\n\u001b[0m\u001b[1;32m    502\u001b[0m                              f\"have shapes {x.shape} and {y.shape}\")\n\u001b[1;32m    503\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (100,) and (256, 1)"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-2, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u[:, -2].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# # Set the axis labels with bold font weight\n",
    "# ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "# ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# # Set the title with bold font weight\n",
    "# ax.set_title(r\"${t = 0.98}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# # Set the number of ticks for x-axis and y-axis to 3\n",
    "# ax.set_xticks([-1, 0, 1])\n",
    "# ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# # Set tick labels fontweight to bold and increase font size\n",
    "# ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # # Set the fontweight for tick labels to bold\n",
    "# # for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "# #     tick.set_weight('bold')\n",
    "\n",
    "# # Set the spines linewidth to bold\n",
    "# ax.spines['top'].set_linewidth(2)\n",
    "# ax.spines['right'].set_linewidth(2)\n",
    "# ax.spines['bottom'].set_linewidth(2)\n",
    "# ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# # Set the legend\n",
    "# # ax.legend()\n",
    "\n",
    "# plt.savefig('LEM_0.98_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.98_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d962cd38",
   "metadata": {},
   "source": [
    "### Contour plot where 80 percent for PINN solution and 20 percent for lem solution"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5011fef9",
   "metadata": {},
   "source": [
    "### Exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "8d6ac2bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = vel.T\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-0.5, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(-0.5, 0.5, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "# x = np.linspace(-0.5, 1, 100)\n",
    "# y = np.linspace(-0.5, 0.5, 256)\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "# print(T.shape)\n",
    "# print(X.shape)\n",
    "# print(concatenated_array.shape)\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='Spectral')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$y$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u^2+v^2$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact_NS.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "12cb8956",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 256)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "concatenated_array.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "00a5a37b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(256, 100)"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vel.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "74c90378",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(100, 256)\n"
     ]
    }
   ],
   "source": [
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "print(concatenated_array.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "c034dcf7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-0.5, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(-0.5, 0.5, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "# print(T.shape)\n",
    "# print(X.shape)\n",
    "# print(concatenated_array.shape)\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='Spectral')\n",
    "\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$y$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u^2+v^2$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=0.3, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "# #plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_LEM_20_NS.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "# # Show the plot\n",
    "# plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b7ab04a2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
